利用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()

直接上图,直观感受

今天的货,到此售完。后续会越来越深入,每天的积累是成功的开始!