数据可视化 Matplotlib- 中

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

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • Visio
    1 引用 • 2 回帖 • 1 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 298 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖 • 1 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    169 引用 • 1527 回帖
  • 代码片段

    代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。

    用户在该标签下分享代码片段时需在帖子标题前添加 [css] [js] 用于区分代码片段类型。

    133 引用 • 895 回帖 • 1 关注
  • Flume

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

    9 引用 • 6 回帖 • 651 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    107 引用 • 127 回帖 • 355 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    295 引用 • 750 回帖 • 1 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 77 关注
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1440 引用 • 10067 回帖 • 492 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    556 引用 • 674 回帖
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 652 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 543 关注
  • Linux

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

    951 引用 • 943 回帖
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    12 引用 • 54 回帖 • 163 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 385 关注
  • danl
    164 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖 • 1 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    52 引用 • 228 回帖
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    428 引用 • 1250 回帖 • 597 关注
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖 • 2 关注
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    12 引用 • 54 回帖 • 17 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    9428 引用 • 42929 回帖 • 109 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 297 关注
  • ngrok

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

    7 引用 • 63 回帖 • 645 关注
  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 109 关注