三:布局格式定方圆
子图
均匀子图
使用plt.subplots
可以绘制均匀子图
主要参数:
figsize
参数可以指定整个画布的大小sharex
和sharey
分别表示是否共享横轴和纵轴刻度tight_layout
函数可以调整子图的相对大小使字符不会重叠
使用案例
fig, axs = plt.subplots(2, 5, figsize=(10, 4), sharex=True, sharey=True)
不均匀子图
使用GridSpec
可以绘制非均匀子图
非均匀:图的比例大小不同但没有跨行、跨列或者图有跨行、跨列
主要参数:
add_gridspec
:设定宽度比例和高度比例
width_ratios
:宽度比例
hright_ratios
:相对高度比例
使用案例
fig = plt.figure(figsize=(10, 4))
spec = fig.add_gridspec(nrows=2, ncols=5, width_ratios=[1,2,3,4,5], height_ratios=[1,3])
子图上的方法
在ax
对象上定义了和plt
类似的函数,常用的有:
plot
hist
scatter
bar
barh
pie
绘制直线的方法:
axline
:水平线axvline
:垂直线axline
:任意线
网格:
grid
: ax.grid(True)
属性:
set_xscale
:设置x坐标规度
set_title
:设置标题
set_xlabel
:设置坐标轴名
绘制其他图形
legend
annotate
arrow
text
- …
示例:
fig, ax = plt.subplots()
ax.arrow(0, 0, 1, 1, head_width=0.03, head_length=0.05, facecolor='red', edgecolor='blue')
ax.text(x=0, y=0,s='这是一段文字', fontsize=16, rotation=70, rotation_mode='anchor', color='green')
ax.annotate('这是中点', xy=(0.5, 0.5), xytext=(0.8, 0.2), arrowprops=dict(facecolor='yellow', edgecolor='black'), fontsize=16)
小结:
第三章主要写了一些布局的方法和案例,主要学会了子图的设置以及通过Ax对象进行绘图的具体方法,还有其他一些设置图中各种信息的详细方法。