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


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


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

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文件。


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


上一篇:像职业选手样编码:地道Python


下一篇:Forest-一款比httpClient,okhttp更优雅人性化的http请求组件