【发布时间】:2014-04-05 13:08:12
【问题描述】:
是否可以在创建轴后设置 matplotlib 子图的大小/位置?我知道我能做到:
import matplotlib.pyplot as plt
ax = plt.subplot(111)
ax.change_geometry(3,1,1)
将轴放在三个的顶行。但我希望轴跨越前两行。我试过这个:
import matplotlib.gridspec as gridspec
ax = plt.subplot(111)
gs = gridspec.GridSpec(3,1)
ax.set_subplotspec(gs[0:2])
但坐标轴仍会填满整个窗口。
更新清楚 我想更改现有轴实例的位置,而不是在创建时设置它。这是因为每次我添加数据时都会修改轴的范围(使用 cartopy 在地图上绘制数据)。地图可能会变得又高又窄,或者又短又宽(或介于两者之间)。所以网格布局的决定将在绘图功能之后发生。
【问题讨论】:
-
感谢您提出这样的问题,我已经搜索了几个小时才找到您的问题。有关信息,我的用例:在
PyQt中显示的Figure中动态添加/删除子图,避免在发生此类修改时对项目创建和后续数据加载进行新调用。
标签: python matplotlib