欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用Python的Matplotlib包绘图基础

程序员文章站 2022-03-01 22:19:15
...

很多新手科技区小伙伴提出疑问:如何让画图如教科书般简洁优雅?

俗话说的好,工欲善其事,必先利其器。要想画好论文插图,首先要选择一款合适的作图软件。对于有一定Python基础的小伙伴,熟练地掌握Matplotlib使未来的可视化工作得心应手。

我将用一系列文章由浅入深、系统全面地总结Matplotlib知识点。这些文章首发于,公众号交通科研Lab【简洁优雅的Matplotlib数据可视化】栏目噢!

导入Matplotlib

作为python常用的程序包之一,使用之前首先要导入Matplotlib,通常导入它的简写形式mpl:

import matplotlib as mpl  
import matplotlib.pyplot as plt

其中plt是最常用的接口,在后边将会用到。

设置绘图样式

用plt.style选择图形的绘图风格。选择经典(classic)风格,画出的图片就是经典的Matplotlib风格。

plt.style.use('classic') 

此外,常用的风格还有FiveThirtyEight(fivethirtyeight)、ggplot、bmh、黑色背景(dark_background)、seaborn等,有些风格绘制的图片非常漂亮。这些风格为画图提供了便利,感兴趣的小伙伴可自行深入探索。

显示图形

如果是在脚本文件中使用Matplotlib,那么显示图形时必须使用plt.show()。

plt.show()

plt.show()的原理是启动一个事件循环,找到当前可用的所有图形对象,然后打开一个或多个交互式窗口显示图形。
**注意事项:**一个Python会话中只能使用一次plt.show(),因此通常将它放在脚本最后。多个plt.show()命令会导致程序显示异常。

创建图形和坐标轴

绘制Matplotlib图形时,都需要创建一个图形fig和一个坐标轴ax。创建图形与坐标轴最简单的方法如下:

# 创建图形  
fig = plt.figure()  
# 创建坐标轴  
ax = plt.axes()  

用Python的Matplotlib包绘图基础
用’seaborn-whitegrid’风格创建图片和坐标轴如下图所示。
注:该风格会自动为图形和坐标轴添加网格线。

设置图形标签

用plt.title()设置图形标题,用plt.xlabel()或plt.ylabel()设置x或y轴的标题。

# 设置图形标签  
plt.title(‘Title’)  
plt.xlabel('X')  
plt.ylabel('Y')  

设置图例

设置图例最简单的方法是用plt.legend()。

# 图例  
plt.legend()  

将图形保存为文件

Matplotlib可以将图形保存为各种不同的数据格式,用savefig()命令将图形保存为文件。例如,如果要将图形保存为PNG格式,可以用这行代码:

fig.savefig('my_figure.png')  

注:当使用savefig()命令时,则可以不需要plt.show()等显示图形的命令。
在savefig中,保存的图片文件格式就是文件的扩展名。可以通过canvas对象的方法查看系统支持的文件格式:

In: fig.canvas.get_supported_filetypes()  
  
Out: {'ps': 'Postscript',  
	   'eps': 'Encapsulated Postscript',  
       'pdf': 'Portable Document Format',  
       'pgf': 'PGF code for LaTeX',  
       'png': 'Portable Network Graphics',  
       'raw': 'Raw RGBA bitmap',  
       'rgba': 'Raw RGBA bitmap',  
       'svg': 'Scalable Vector Graphics',  
       'svgz': 'Scalable Vector Graphics'}

注:’In:’后为在交互式窗口输入的内容,’Out:’后为交互式窗口输出的内容。