数据可视化 Matplotlib- 中

本贴最后更新于 2093 天前,其中的信息可能已经时异事殊
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,不理他,既然能用试试效果就行。 # ##

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    245 引用 • 1338 回帖 • 1 关注
  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    76 引用 • 258 回帖 • 628 关注
  • V2Ray
    1 引用 • 15 回帖
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 655 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    952 引用 • 944 回帖 • 1 关注
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 33 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 399 关注
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    181 引用 • 400 回帖
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 648 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖 • 1 关注
  • abitmean

    有点意思就行了

    37 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    188 引用 • 319 回帖 • 252 关注
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    32 引用 • 108 回帖
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 159 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖 • 2 关注
  • danl
    164 关注
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    91 引用 • 384 回帖
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 31 关注
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    71 引用 • 535 回帖 • 830 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 726 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    693 引用 • 537 回帖
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 633 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    184 引用 • 1018 回帖 • 1 关注
  • Outlook
    1 引用 • 5 回帖 • 4 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    239 引用 • 224 回帖
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖 • 2 关注