数据可视化Matplotlib-中

上一篇:数据可视化Matplotlib-上

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
效果图:
在这里插入图片描述

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

示例代码:fill.py
效果图:
在这里插入图片描述

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

  • 宽度:0-1的数,表示间隔

示例代码:bar.py
效果图:
在这里插入图片描述
13、饼图
mp.pie(值数组,间隙数组,标签数组,颜色数组,格式,shadow=False)

  • shadow:是否有阴影
  • startangle:起始角度
  • 格式:表示扇形占比的格式化显示,比如‘%d%%’表示以20%这种表示,也可以以小数‘0.%d’则是以0.20显示

示例代码:pie.py
效果图:
在这里插入图片描述

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
效果图(可以一个窗口画一个,效果比这个好多了):
在这里插入图片描述

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

  • origin:默认y轴坐标从上至下增大的,不符合坐标系,所以经常设置值为’low’

示例代码:imshow.py
效果图(是不是和等高线有点像,因为用的是同样的数据):
在这里插入图片描述
简单应用:
将彩色图片显示为黑白图片,当然也可以变成其他颜色映射。

示例代码:cmap.py
原图片:
在这里插入图片描述
效果图(如果每个窗口显示一张图,效果更好):
在这里插入图片描述

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

下一篇:数据可视化Matplotlib-下

猜你喜欢

转载自blog.csdn.net/Qwertyuiop2016/article/details/85002800