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


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


相关文章
|
19天前
|
API 开发者 Python
Matplotlib中的两种绘图API说明
在Matplotlib库中提供了两种风格的API供开发者使用:一种是Pyplot编程接口(state-based),一种是面向对象对象的编程接口(object-based)。
18 0
|
24天前
|
数据可视化 数据挖掘 Python
Python 数据分析(二):Matplotlib 绘图
Python 数据分析(二):Matplotlib 绘图
31 0
Python 数据分析(二):Matplotlib 绘图
|
4月前
|
Python
Pycharm使用matplotlib绘图时无法显示中文问题
Pycharm使用matplotlib绘图时无法显示中文问题
66 0
|
6月前
|
Python
matplotlib绘图中文乱码问题
matplotlib绘图中文乱码问题
825 0
|
7月前
|
测试技术 BI Python
软件测试|Python绘图神器matplotlib教程(三)
软件测试|Python绘图神器matplotlib教程(三)
93 0
软件测试|Python绘图神器matplotlib教程(三)
|
8月前
|
Python
【python】使用matplotlib绘图使刻度线向内
成功使用代码实现matplotlib绘制的图刻度线朝内
【python】使用matplotlib绘图使刻度线向内
|
8月前
|
Python
避免Matplotlib绘图中文乱码
本文介绍避免Matplotlib绘图出现中文乱码问题的解决方案。
99 0
避免Matplotlib绘图中文乱码
|
10月前
|
人工智能 数据可视化 Python
Python Matplotlib库:基本绘图补充
上期我们讲了 Matplotlib 库的基本语法,并以折线图为例,绘制了我们的第一幅图表。这期我们来说说如何用 Matplotlib 库绘制其他常用图表。plot()是 Matplotlib 库中绘制折线图的方法,而绘制散点图,我们会使用scatter()。在 Matplotlib 库中,我们使用bar()方法来绘制柱状图。使用stem()方法来绘制火柴图。使用step()方法来绘制阶梯图。使用fill_between()方法来填充一段区间。
79 0
Python Matplotlib库:基本绘图补充
|
11月前
|
数据挖掘 Python
【Python数据分析 - 1】:matplotlib绘图架构Part1【折线图和基础绘图】
【Python数据分析 - 1】:matplotlib绘图架构Part1【折线图和基础绘图】
167 0
【Python数据分析 - 1】:matplotlib绘图架构Part1【折线图和基础绘图】
|
测试技术 Python
Python编程:解决matplotlib绘图中文乱码问题
Python编程:解决matplotlib绘图中文乱码问题
101 0
Python编程:解决matplotlib绘图中文乱码问题
相关产品
云迁移中心
推荐文章
更多