![ade897e7f72bd116201de6971220e09b.png](https://i-blog.csdnimg.cn/blog_migrate/b13ede41070c591d8c2ee18c2dc6ccda.jpeg)
作为一名理工科的研究生,画图当然是家常便饭,就目前来讲画图的工具也很丰富有matlab、R、Python、Excel等等,我个人还是偏好使用Python系列来画图。一说到使用Python来画图那必然会想到Matplotlib库,新版的 Matplotlib 已经可以轻松实现主流的绘图风格,人们不断在 Matplotlib 的基础上开发出新的程序包,实现更加简洁、现代化的 API,例如 Seaborn、 ggplot以及Pandas 对 Matplotlib 的 API 封装的画图功能,接下来我将会介绍如何使用Matplotlib一步一步的画出好看的图形的。
1 画图之前的准备工作
我一般在Jupyter lab上使用Matplotlib画图,首先导入画图相关的库
import
使用 plt.style 来选择图形的绘图风格,现在选择(fivethirtyeight)风格,这种风格使用深色的粗线条和透明的坐标轴:
# 全局设置绘图风格
绘图风格有很多种,使用 plt.style.available 可以查询 Matplotlib 支持的所有绘画风格,终有一款是你喜欢的类型。
2 使用面向对象接口绘图
面向对象接口可以适应更复杂的场景,更好地控制你自己的图形。在面向对象接口中,画图函数不再受到当前图形或坐标轴的限制,而变成了显式的 Figure 和 Axes 的方法。如
with
![aca6962fd73b6cbb4da9e9504df3a9fc.png](https://i-blog.csdnimg.cn/blog_migrate/9fd6f6f69d1f5587469b38c6d574e028.jpeg)
3 调整图形
基于 plot 参数的调整
- 控制图形color
- 控制图形linetyle
- 控制图形marker
- 完整的plot调整参数列表
axs
对Axes的一些调整
axs
4 画图示例
假设你现在有一批XSS 的 payload,样本集已经做好标记,现在你要对比深度学习方法LSTM、GRU和传统机器学习方法分别对数据集预测效果。下面是完整的画图代码,包含了常见图形的各种调控
with
![f378547b417bb2e6e3e7a7a0f88e2e09.png](https://i-blog.csdnimg.cn/blog_migrate/72b2ea2c4e8feee41d2899c53bce8f56.jpeg)
5 保存图形
Matplotlib 的一个优点是能够将图形保存为各种不同的数据格式。你可以用 savefig() 命令将图形保存为文件。例如,如果要将图形保存为 PNG 格式,你可以运行这行代码:
fig
在 savefig() 里面,保存的图片文件格式就是文件的扩展名。Matplotlib 支持许多图形格 式,具体格式由操作系统已安装的图形显示接口决定。你可以通过 canvas 对象的方法查看系统支持的文件格式:
fig.canvas.get_supported_filetypes()
![8b9285b1f4a2d0a8328400286252302a.png](https://i-blog.csdnimg.cn/blog_migrate/eb97498c1889e3d8b27fbf4c50e37e60.png)