0%

Python matlibplot画图最佳实践

之前也写过一些关于使用 Python matplotlib 画图的文章,写得都比较初级,内容繁多,有些可能根本就用不到。

根据工作中画图的经验,总结了一些最佳实践,主要涉及到一些设置方面的,商业逻辑不包含在内。此文章会一直更新。

设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 导入画图工具
import matplotlib.pyplot as plt

# 让图表直接在juypter notebook中展示出来,高版本貌似已经不需要这条语句了
# %matplotlib inline

# 解决中文乱码问题,高版本貌似不需要这条语句了
# plt.rcParams['font.sans-serif'] = 'SimHei'

# 解决负号无法显示的问题
# plt.rcParams['axes.unicode_minus'] = False

# 设置图片格式为svg矢量图,更加清晰
%config InlineBackend.figure_format = 'svg'

画布

创建画布

创建一个画布,分为两行两列。

1
fig, axes = plt.subplots(2, 2)

展示画布的时候,只需要输出fig就行了,貌似也不需要设置%matplotlib inline

1
fig

删除子图

当某个子图不需要展现时,可以使用如下语句:

删除某子图

1
2
ax = axes[0, 1]
fig.delaxes(ax)

隐藏某子图

1
ax.set_axis_off()

不遮挡布局

设置了x轴标签后,可能被下方的子图遮挡,使用如下语句可以让遮挡部分显示出来。

1
fig.tight_layout()

画图

在第0行,第0列画图。

1
axes[0, 0].plot(x, y)

设置x, y轴标签

1
2
ax.set_xlabel('时间')
ax.set_ylabel('销量')