import matplotlib.pyplot as mp
**提示:为了避免文章过长,代码全托管到码云,直接点超链接就可以看到和下载。**
**10、刻度定位器**
ax = mp.gca()
ax.xaxis.set_major_locator(刻度定位器) # 主刻度
ax.xaxis.set_minor_locator(刻度定位器) # 次刻度
- 常用 刻度定位器
- mp.NullLocator:空定位器
- mp.MaxNLocator(nbin=最多画几个刻度, steps=刻度间距可选列表): 最大值定位器
- mp.FixedLocator(locs=刻度列表):固定点定位器
- mp.AutoLocator():自动定位器
- mp.IndexLocator(offset=0.5,base=1.5):offset(刻度起始值),base(步长)
- mp.MultipleLocator(刻度间隔):多点定位器
- mp.LinearLocator(numticks=21):numticks(刻度个数)
- mp.LogLocator(base=2,subs=[1.0]):对数定位器
示例代码:[locator.py](https://gitee.com/kanadeblisst/CSDN/blob/master/locator.py)
效果图:
![2018121411525612.png](https://b3logfile.com/file/2019/08/2018121411525612-1f77c9c8.png)
**11、区域填充**
mp.fill_between(水平坐标,起点垂直坐标,终点垂直坐标,填充条件,color=颜色,alpha=透明度)
示例代码:[fill.py](https://gitee.com/kanadeblisst/CSDN/blob/master/fill.py)
效果图:
![20181214140721502.png](https://b3logfile.com/file/2019/08/20181214140721502-0ca90dc6.png)
**12、条形图**
mp.bar(水平坐标数组,高度数组,宽度,color=颜色,label=图例标签,alpha=透明度)
- 宽度:0-1的数,表示间隔
示例代码:[bar.py](https://gitee.com/kanadeblisst/CSDN/blob/master/bar.py)
效果图:
![20181214143744845.png](https://b3logfile.com/file/2019/08/20181214143744845-da0f84a3.png)
**13、饼图**
mp.pie(值数组,间隙数组,标签数组,颜色数组,格式,shadow=False)
- shadow:是否有阴影
- startangle:起始角度
- 格式:表示扇形占比的格式化显示,比如‘%d%%’表示以20%这种表示,也可以以小数‘0.%d’则是以0.20显示
示例代码:[pie.py](https://gitee.com/kanadeblisst/CSDN/blob/master/pie.py)
效果图:
![20181214145430502.png](https://b3logfile.com/file/2019/08/20181214145430502-f5996c18.png)
**14、等高线图**
mp.contour(点阵X坐标,点阵Y坐标,Z坐标,梯度数,colors=颜色,linewidths=线宽)
mp.contourf(点阵X坐标,点阵Y坐标,Z坐标,梯度数,cmap=颜色映射)
- 梯度数:决定等高线图的密集性
- cmap:部分取值如下
- autumn 从红色平滑变化到橙色,然后到黄色。
- bone 具有较高的蓝色成分的灰度色图。该色图用于对灰度图添加电子的视图。
- cool 包含青绿色和品红色的阴影色。从青绿色平滑变化到品红色。
- copper 从黑色平滑过渡到亮铜色。
- flag 包含红、白、绿和黑色。
- gray 返回线性灰度色图。
- hot 从黑平滑过度到红、橙色和黄色的背景色,然后到白色。
- hsv 从红,变化到黄、绿、青绿、品红,返回到红。
- jet 从蓝到红,中间经过青绿、黄和橙色。它是hsv色图的一个变异。
- pink 柔和的桃红色,它提供了灰度图的深褐色调着色。
- prism 重复这六种颜色:红、橙、黄、绿、蓝和紫色。
- spring 包含品红和黄的阴影颜色。
- summer 包含绿和黄的阴影颜色。
- winter 包含蓝和绿的阴影色。
更多取值请参考官网: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](https://gitee.com/kanadeblisst/CSDN/blob/master/contour.py)
效果图(可以一个窗口画一个,效果比这个好多了):
![20181214165929818.png](https://b3logfile.com/file/2019/08/20181214165929818-47d529e8.png)
**15、热力图**
mp.imshow(矩阵,cmap=颜色映射,origin=纵轴方向)
- origin:默认y轴坐标从上至下增大的,不符合坐标系,所以经常设置值为'low'
示例代码:[imshow.py](https://gitee.com/kanadeblisst/CSDN/blob/master/imshow.py)
效果图(是不是和等高线有点像,因为用的是同样的数据):
![20181214173021179.png](https://b3logfile.com/file/2019/08/20181214173021179-0577d32f.png)
**简单应用:**
将彩色图片显示为黑白图片,当然也可以变成其他颜色映射。
示例代码:[cmap.py](https://gitee.com/kanadeblisst/CSDN/tree/master/cmap)
原图片:
![20181214204449624.jpg](https://b3logfile.com/file/2019/08/20181214204449624-9ff132c3.jpg)
效果图(如果每个窗口显示一张图,效果更好):
![20181214204335326.png](https://b3logfile.com/file/2019/08/20181214204335326-2bab588d.png)
说明: 代码会提示一个警告,大概意思是imread已经被弃用,将在1.2.0版本移除,请使用imageio.imread,不理他,既然能用试试效果就行。
#
##
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于