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


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


相关文章
|
4月前
|
数据可视化 数据挖掘 大数据
【数据分析与可视化】Matplotlib绘图基础语法讲解(图文解释 超详细)
【数据分析与可视化】Matplotlib绘图基础语法讲解(图文解释 超详细)
53 0
|
6月前
|
数据可视化 Python
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
115 0
|
4月前
|
资源调度 自然语言处理 数据可视化
【数据分析与可视化】Matplotlib中十大绘图模型的讲解及实现(图文解释 附源码)
【数据分析与可视化】Matplotlib中十大绘图模型的讲解及实现(图文解释 附源码)
65 1
【python】使用matplotlib绘图使刻度线向内
成功使用代码实现matplotlib绘制的图刻度线朝内
【python】使用matplotlib绘图使刻度线向内
|
1月前
|
数据采集 前端开发 C++
Python通过matplotlib动态绘图实现中美GDP历年对比趋势动图
随着中国的各种实力的提高,经常在各种媒体上看到中国与各个国家历年的各种指标数据的对比,为了更清楚的展示历年的发展趋势,有的还做成了动图,看到中国各种指标数据的近年的不断逆袭,心中的自豪感油然而生。今天通过Python来实现matplotlib的动态绘图,将中美两国近年的GDP做个对比,展示中国GPD对美国的追赶态势,相信不久的将来中国的GDP数据将稳超美国。
49 2
|
6月前
|
数据可视化 Python
【100天精通Python】Day65:Python可视化_Matplotlib3D绘图mplot3d,绘制3D散点图、3D线图和3D条形图,示例+代码
【100天精通Python】Day65:Python可视化_Matplotlib3D绘图mplot3d,绘制3D散点图、3D线图和3D条形图,示例+代码
160 0
|
4月前
|
机器学习/深度学习 数据可视化 API
Matplotlib从入门到精通01-matplotlib简介与绘图基本流程
Matplotlib从入门到精通01-matplotlib简介与绘图基本流程
Matplotlib从入门到精通01-matplotlib简介与绘图基本流程
|
4月前
|
机器学习/深度学习 资源调度 数据挖掘
数据挖掘与机器学习中Matplotlib绘图模块详细讲解(超详细 附源码)
数据挖掘与机器学习中Matplotlib绘图模块详细讲解(超详细 附源码)
56 0
|
4月前
|
Python
Matplotlib.pyplot绘图示例
Matplotlib.pyplot绘图示例
26 0
|
6月前
|
数据可视化 关系型数据库 Python
【100天精通Python】Day66:Python可视化_Matplotlib 3D绘图,绘制3D曲面图、3D填充图,3D极坐标图,示例+代码
【100天精通Python】Day66:Python可视化_Matplotlib 3D绘图,绘制3D曲面图、3D填充图,3D极坐标图,示例+代码
115 0