利用Matpoltlib库初步接触数据可视化(仍然先从最简单的做起)
有人说,前几篇文章写的过于细了,好多都是可有可无的。我这里是为了自己的学生能够慢慢理解感受基于Python语言的数据可视化方法而写的,并不是为了博眼球。我的学生我懂,再说本人水平有限,这也算是互相促进,在教学生的同时也在巩固自己的所学所思。
这节课,不打算基于上一篇文章直接利用导入之后的数据进行可视化操作,原因如下:
(1)利用pandas读取到的数据需要进一步变换,才能用于Matpoltlib绘制,转换讲得一多,我亲爱的学生们就懵了
(2)基于numpy,利用简单的数组数据读入,进行绘图,先让大家直观了解到Matpoltlib绘制过程究竟是什么样子的
注:基于这些,到下节课,我们就可以做这样一个思维的联系
既然数组中的数据能够被绘制出来,是不是将pandas库导入的数据“变成”数组中的数据,也就可以利用Matpoltlib库进行绘制了!?~
答案当然是肯定的,我希望大家能够慢慢有这种思维方式,活学活用,不仅是课堂,也可以应用到生活的方方面面去看待问题,解决问题。
导入Matpoltlib库,创建画布
import matplotlib.pyplot as plt
fig = plt.figure()
plt.show()
第一行代码:导入Matpoltlib库,并将其简称为plt
第二行代码:创建了一个空白画布
第三行代码:展示画布及在画布上绘制的内容
因为,我们只是创建了一个空白画布,故运行之后,结果如下图所示
以二维数据为例,进行数据可视化构建(基于plot函数的折线图绘制)
(1)人为创建一组数据(以数组形式创建):
x = [2, 4, 6, 8, 10]
y = [2.1, 3.8, 1.1, 5.6, 6.1]
x代表二维平面横轴坐标的存储数组,y代表二维平面纵轴坐标的存储数组
(2)画出折线图
import matplotlib.pyplot as plt
fig = plt.figure()
plt.plot(x, y, color = 'r', linestyle = '-')
plt.show()
这里解释一下plt.plot()中的各参数含义:
x与y代表上面传入的横纵坐标值,color代表线条颜色,linestyle代表线条风格
(3)运行代码,直观感受一下
在这里,我们可以看到绘制了一个红色折线段,两个端点+三个折点刚好就是刚才创建的数组中数的个数,每一个点即(x, y)按数组位置传入的值组合而成的
附完整代码(有些同学基础差,慢慢照猫画虎)
import matplotlib.pyplot as plt
x = [2, 4, 6, 8, 10]
y = [2.1, 3.8, 1.1, 5.6, 6.1]
fig = plt.figure()
plt.plot(x, y, color = 'r', linestyle = '-')
plt.show()
有些理解了的同学肯定要问了,color和linestyle这两个参数还能传入其他值么?让我画的折线与众不同,我喜欢不一样的人生!~下面的风格设置拿走不谢
对于常用color参数(相应颜色对应的英文单词自己查,懒得查的自己挨个画图试= =|||)
b代表blue c代表cyan g代表green k代表black
m代表magenta r代表red w代表white y代表yellow
还有一种是通用的16进制颜色表示方法,百度上一堆,我就不赘述了,例如:#FF00FF表示一种紫色
对于常用linestyle参数
- 表示实线 -- 表示短线 -. 表示短点相间线 : 表示虚点线
再演示一个和上面color和linestyle参数不同的,其他大家动手试试
import matplotlib.pyplot as plt
x = [2, 4, 6, 8, 10]
y = [2.1, 3.8, 1.1, 5.6, 6.1]
fig = plt.figure()
plt.plot(x, y, color = '#FF00FF', linestyle = ':')
plt.show()
以二维数据为例,进行数据可视化构建(基于scatter函数的散点图绘制)
(1)人为创建一组数据(以数组形式创建):
x = [2, 4, 6, 8, 10]
y = [2.1, 3.8, 1.1, 5.6, 6.1]
(2)画出散点图
import matplotlib.pyplot as plt
fig = plt.figure()
plt.scatter(x, y, color='k', marker='*')
plt.show()
这里解释一下plt.plot()中的各参数含义:
x,y以及color同plot函数,不再赘述。marker代表点的标记风格
(3)运行代码,直观感受一下
附完整代码(有些同学基础差,慢慢照猫画虎)
import matplotlib.pyplot as plt
x = [2, 4, 6, 8, 10]
y = [2.1, 3.8, 1.1, 5.6, 6.1]
fig = plt.figure()
plt.scatter(x, y, color='k', marker='*')
plt.show()
对于常用marker参数(本来有很多,都不错,我放几个常用的,其他不赘述)
. 表示 Point marker o 表示 Circle marker 1 表示 Tripod down marker
s 表示 Square marker p 表示 Pentagon marker * 表示 Star marker
+ 表示 Plus marker x 表示 Cross (x) marker
接下来是统计中比较常用的饼图,柱状图
这里我就不再复述上面已有的知识点,大家要学会举一反三,慢慢理解,不能只等着喂
(1)饼图---pie()函数
import matplotlib.pyplot as plt
y = [1.3, 2.4, 0.6, 3.6, 5.3]
plt.figure()
plt.pie(y)
plt.title('PIE')
plt.show()
上面代码中plt.pie(y)意思是以y传入的值构建饼图
这里新加入一个知识点:在上面几张可视化图中,大家有没有发现,绘制的图表没有名称,让使用图表的人不知道该图是做什么的。
我们能否自己定义图表名字呢?让人能直观知道我这图表是干嘛的。答案是肯定的!
plt.title('PIE')
这句代码的意思是定义图表名字为PIE
直接上图,直观感受
饼图上的各面积是否对应于传入的y的值?当然是,但是这里做了归一化处理,按比例显示了y传入的这5个数值占整体的比例
(2)柱状图---bar()
import matplotlib.pyplot as plt
x = [2, 4, 6]
y = [2.3, 1.4, 4.2]
plt.figure()
plt.bar(x, y)
plt.title("bar")
plt.show()
直接上图,直观感受
今天的货,到此售完。后续会越来越深入,每天的积累是成功的开始!