上一篇:数据可视化Matplotlib-上
import matplotlib.pyplot as mp
提示:为了避免文章过长,代码全托管到码云,直接点超链接就可以看到和下载。
10、刻度定位器
ax = mp.gca()
ax.xaxis.set_major_locator(刻度定位器) # 主刻度
ax.xaxis.set_minor_locator(刻度定位器) # 次刻度
11、区域填充
mp.fill_between(水平坐标,起点垂直坐标,终点垂直坐标,填充条件,color=颜色,alpha=透明度)
12、条形图
mp.bar(水平坐标数组,高度数组,宽度,color=颜色,label=图例标签,alpha=透明度)
示例代码:bar.py
效果图:
13、饼图
mp.pie(值数组,间隙数组,标签数组,颜色数组,格式,shadow=False)
14、等高线图
mp.contour(点阵X坐标,点阵Y坐标,Z坐标,梯度数,colors=颜色,linewidths=线宽)
mp.contourf(点阵X坐标,点阵Y坐标,Z坐标,梯度数,cmap=颜色映射)
更多取值请参考官网:https://matplotlib.org/examples/color/colormaps_reference.html
补充:
点阵X坐标,点阵Y坐标:都为二维数组,可以由np.meshgrid(x一维数组,y一维数组)生成
例如:x = [1 3 4] y = [2 4 5],那么x和y在平面坐标系上能有9个交点,而点阵X坐标则是这9个坐标的x坐标矩阵
9个点的坐标:
(1, 2), (3, 2), (4,2)
(1, 4), (3, 4), (4, 4)
(1, 5), (3, 5), (4, 5)
点阵X坐标:
[[1, 3, 4],
[1, 3, 4],
[1, 3, 4]]
点阵Y坐标:
[[2, 2, 2],
[3, 3, 3],
[4, 4, 4]]
而np.meshgrid(x, y)得到的就是上面两个矩阵数组,也可以不使用np.meshgrid(x, y),而是使用X = np.tite(x, (x.size, 1)),Y = np.tite(y, (y.size, 1)).T
注意:坐标并不需要有顺序,只要X,Y一一对应就行
所以
X
[[1, 1, 1],
[2, 2, 2],
[4, 4, 4]]
Y
[[2, 3, 4],
[2, 3, 4],
[2, 3, 4]]
这个和上面没什么区别
示例代码:contour.py
效果图(可以一个窗口画一个,效果比这个好多了):
15、热力图
mp.imshow(矩阵,cmap=颜色映射,origin=纵轴方向)
示例代码:imshow.py
效果图(是不是和等高线有点像,因为用的是同样的数据):
简单应用:
将彩色图片显示为黑白图片,当然也可以变成其他颜色映射。
示例代码:cmap.py
原图片:
效果图(如果每个窗口显示一张图,效果更好):
说明: 代码会提示一个警告,大概意思是imread已经被弃用,将在1.2.0版本移除,请使用imageio.imread,不理他,既然能用试试效果就行。
下一篇:数据可视化Matplotlib-下