开发者社区> 九天学者> 正文

用Matplotlib打造你的专属绘图风格

简介: 关注九天学者微信公众号(扫码关注)第一时间获取技术贴更新! gmt受欢迎的一个可能的原因就是其绘图默认配置很合理,比如axis的label字体大小,有效数字,线宽等。
+关注继续查看

关注九天学者微信公众号(扫码关注)第一时间获取技术贴更新!


img_10e21878b1021b96feaa14a04f26446f.png

gmt受欢迎的一个可能的原因就是其绘图默认配置很合理,比如axis的label字体大小,有效数字,线宽等。大家最熟知的就是gmt绘制各种投影的地图:全球的、区域的、加海岸线的...,效果美观,但是有个缺点就是在数据处理方面,一般都借助于awk,但是难以上手,尤其在windows系统下面。matplotlib.basemap同样有这样的功能,而且不会比gmt复杂,加上python的计算、数据处理、网络爬虫等各种好用的功能,绘图会更方便。可是为什么没有得到广泛的应用,可能是与其默认配置不太合理有关。其实matplotlib也可以根据自己的需要配置专属的绘图分格。

下面将Matplotlib简称为mpl


Style

mpl支持绘图风格切换,这是一个非常给力的功能。一般情况下,绘图的底色都是白色,字体和线条等都是黑色。放在白色背景的ppt里面演示还不错,但是如果你喜欢黑色背景的ppt,name这张图将显得非常扎眼、不和谐。当然了,有人会说我可以保存为透明背景的png格式,这种更糟糕,背景透明之后你的文字和线条全部看不见了。所以只能忍受这种扎眼的显示了。

如果你有两种绘图风格可以选择,比如darklight,只需要简单的更换一下风格,一键生成左右图片,真的是秒换风格。

mpl就可以做到这一点!

查看目前所有的可用风格以及如何应用风格,看代码

import matplotlib.pyplot as plt
print(plt.style.available)  #查看可用风格
plt.style.use('ggplot')   #应用风格

我亲测过,这些现有的风格都有各种各样的不满意的地方,还是需要根据自己的专业创建一个自己喜欢的风格。
自带风格文件(.mplstyle)保存的路径为:

/Users/zguo/.pyenv/versions/anaconda3-5.0.1/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib

自定义风格文件

自定义风格文件命名为,比如light.mplstyle, paper.mplstyle, presentation.mplstyle等,内容类似为:

# #是注释符
axes.titlesize      : 16
axes.labelsize      : 12
axes.labelcolor     : 657b83
axes.facecolor      : eee8d5
axes.edgecolor      : eee8d5
axes.axisbelow      : True

自定义风格文件存放路径:~/.matplotlib/stylelib,只要放到此路径,mpl就能搜索到,你就可以应用相应的自定义风格进行绘图。

风格组合

还有一个更给力的功能就是,可以组合使用风格,比如,

plt.style.use(['dark', 'presentation'])

一个定义颜色,一个定义字体大小和线条粗细等。

风格文件里面的内容可以参考mpl的配置文件进行修改,mpl的默认参数设置文件所在目录:site-packages/matplotlib/mpl-data/matplotlibrc,里面有各种各样的配置,详细极了。类似于gmt的.conf文件。


关注九天学者微信公众号(扫码关注)第一时间获取技术贴更新!


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Pycharm使用matplotlib绘图时无法显示中文问题
Pycharm使用matplotlib绘图时无法显示中文问题
16 0
matplotlib绘图中文乱码问题
matplotlib绘图中文乱码问题
439 0
软件测试|Python绘图神器matplotlib教程(三)
软件测试|Python绘图神器matplotlib教程(三)
41 0
【python】使用matplotlib绘图使刻度线向内
成功使用代码实现matplotlib绘制的图刻度线朝内
114 0
避免Matplotlib绘图中文乱码
本文介绍避免Matplotlib绘图出现中文乱码问题的解决方案。
54 0
Python Matplotlib库:基本绘图补充
上期我们讲了 Matplotlib 库的基本语法,并以折线图为例,绘制了我们的第一幅图表。这期我们来说说如何用 Matplotlib 库绘制其他常用图表。plot()是 Matplotlib 库中绘制折线图的方法,而绘制散点图,我们会使用scatter()。在 Matplotlib 库中,我们使用bar()方法来绘制柱状图。使用stem()方法来绘制火柴图。使用step()方法来绘制阶梯图。使用fill_between()方法来填充一段区间。
54 0
【Python数据分析 - 1】:matplotlib绘图架构Part1【折线图和基础绘图】
【Python数据分析 - 1】:matplotlib绘图架构Part1【折线图和基础绘图】
110 0
Python编程:解决matplotlib绘图中文乱码问题
Python编程:解决matplotlib绘图中文乱码问题
64 0
Python数据分析与展示:matplotlib绘图简单示例-7
Python数据分析与展示:matplotlib绘图简单示例-7
72 0
Py之matplotlib:matplotlib绘图中与颜色相关的参数(color颜色参数、linestyle线型参数、marker标记参数)可选列表集合(建议收藏)
Py之matplotlib:matplotlib绘图中与颜色相关的参数(color颜色参数、linestyle线型参数、marker标记参数)可选列表集合(建议收藏)
49 0
+关注
九天学者
地球物理学博士生。在科学数据可视化上追求美学极致,在科研数据处理过程中追求高效简洁,在科研工具选择上追求开源免费。让科学流行起来,让编程普及起来!
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载