ITPub博客

首页 > 数据库 > 数据库开发技术 > 数据可视化库Matplotlib-中

数据可视化库Matplotlib-中

原创 数据库开发技术 作者:kanadeblisst 时间:2019-05-24 18:34:25 0 删除 编辑

提示:为了避免文章过长,代码全托管到码云,请复制链接到浏览器查看或下载



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]):对数定位器

  

示例:https://gitee.com/kanadeblisst/CSDN/blob/master/locator.py


效果图:


11、区域填充

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

 

示例:https://gitee.com/kanadeblisst/CSDN/blob/master/fill.py


效果图:


12、条形图

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

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


示例 :https://gitee.com/kanadeblisst/CSDN/blob/master/bar.py


效果图:


13、饼图

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

  • shadow:是否有阴影

  • startangle:起始角度

  • 格式:表示扇形占比的格式化显示,比如‘%d%%’表示以20%这种表示,也可以以小数‘0.%d’则是以0.20显示


示例:https://gitee.com/kanadeblisst/CSDN/blob/master/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]]

     

示例:https://gitee.com/kanadeblisst/CSDN/blob/master/contour.py


效果图(可以一个窗口画一个,效果比这个好多了):

     

15、热力图

mp.imshow(矩阵,cmap=颜色映射,origin=纵轴方向)


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


示例:https://gitee.com/kanadeblisst/CSDN/blob/master/imshow.py


效果图(是不是和等高线有点像,因为用的是同样的数据):


简单应用

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


示例:https://gitee.com/kanadeblisst/CSDN/tree/master/cmap

原图片:

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


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



如微信排版看的不是很舒服,可以点击原文查看我的CSDN博客。




原文作者:Python成长路;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2019-05-15

  • 博文量
    117
  • 访问量
    67421