基于atlasplots与matplotlib添加多个pull plot的布局调整问题
解决方法
- 调整子图高度比例
你可以在调用aplt.subplots()时通过gridspec_kw参数传入高度比例配置,直接实现主图占2/4、两个pull plot各占1/4的布局需求,示例代码如下:
fig, (ax1, ax2, ax3) = aplt.subplots( 3, 1, name="fig1", figsize=(850, 950), hspace=0.05, gridspec_kw={"height_ratios": [2, 1, 1]} )
height_ratios列表的三个值分别对应三个子图的高度占比,总和为4,刚好匹配你要求的比例分配。
- 修复
set_aspect报错
Atlasplots返回的Axes为matplotlib标准Axes子类,出现该报错的常见原因是调用对象错误,或是安装的Atlasplots版本过旧。如果需要固定主图纵横比,可改用set_box_aspect()方法:
ax1.set_box_aspect(1)
若需要保持上下子图x轴对齐,仅保留最下方pull plot的x轴刻度标签即可,无需额外调整纵横比参数。
绘图完成后可调用aplt.atlas.label()添加ATLAS标准实验标记,保持和之前ratio_plot生成图表样式一致。
内容的提问来源于stack exchange,提问作者Matthew D.
相关产品推荐
相关产品推荐

