import matplotlib.pyplot as mp 提示:为了避免文章过长,代码全托管到码云,直接点超链接就可以看到和下载。 10、刻度定位器 ax = mp.gca() ax.xaxis.set_major_locator(刻度定位器) # 主刻度 ax.xaxis.set_minor_locator(刻度 ..

数据可视化 Matplotlib- 中


import matplotlib.pyplot as mp

提示:为了避免文章过长,代码全托管到码云,直接点超链接就可以看到和下载。

10、刻度定位器
ax = mp.gca()
ax.xaxis.set_major_locator(刻度定位器) # 主刻度
ax.xaxis.set_minor_locator(刻度定位器) # 次刻度

示例代码:locator.py
效果图:

2018121411525612.png

11、区域填充
mp.fill_between(水平坐标,起点垂直坐标,终点垂直坐标,填充条件,color= 颜色,alpha= 透明度)

示例代码:fill.py
效果图:

20181214140721502.png

12、条形图
mp.bar(水平坐标数组,高度数组,宽度,color= 颜色,label= 图例标签,alpha= 透明度)

示例代码:bar.py
效果图:

20181214143744845.png

13、饼图
mp.pie(值数组,间隙数组,标签数组,颜色数组,格式,shadow=False)

示例代码:pie.py
效果图:
20181214145430502.png

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
效果图 (可以一个窗口画一个,效果比这个好多了):

20181214165929818.png

15、热力图
mp.imshow(矩阵,cmap= 颜色映射,origin= 纵轴方向)

示例代码:imshow.py
效果图 (是不是和等高线有点像,因为用的是同样的数据):

20181214173021179.png

简单应用:
将彩色图片显示为黑白图片,当然也可以变成其他颜色映射。

示例代码:cmap.py
原图片:
20181214204449624.jpg

效果图 (如果每个窗口显示一张图,效果更好):
20181214204335326.png

说明: 代码会提示一个警告,大概意思是 imread 已经被弃用,将在 1.2.0 版本移除,请使用 imageio.imread,不理他,既然能用试试效果就行。

回帖   
请输入回帖内容...