当我运行这段代码时frompylabimport*figure()ax1=subplot(121)plot([1,2,3],[1,2,3])subplot(122,sharex=ax1,sharey=ax1)plot([1,2,3],[1,2,3])draw()show()我得到两个在X维度上被“压扁”的子图。对于两个子图,如何获得这些子图以使Y轴的高度等于X轴的宽度?我在Ubuntu10.04上使用matplotlibv.0.99.1.2。2010-07-08更新:让我们看看一些不起作用的东西。在谷歌搜索了一整天后,我认为这可能与自动缩放有关。所以我试着摆弄它。frompylabim
当我运行这段代码时frompylabimport*figure()ax1=subplot(121)plot([1,2,3],[1,2,3])subplot(122,sharex=ax1,sharey=ax1)plot([1,2,3],[1,2,3])draw()show()我得到两个在X维度上被“压扁”的子图。对于两个子图,如何获得这些子图以使Y轴的高度等于X轴的宽度?我在Ubuntu10.04上使用matplotlibv.0.99.1.2。2010-07-08更新:让我们看看一些不起作用的东西。在谷歌搜索了一整天后,我认为这可能与自动缩放有关。所以我试着摆弄它。frompylabim
我想在一个图中有三个图。该图的子图布局应为2×2,其中第一个图应占据前两个子图单元格(即整个第一行图单元格),其他图应位于单元格3和4中的第一个图下方。我知道MATLAB通过使用subplot命令允许这样做:subplot(2,2,[1,2])%theplotwillspansubplots1and2是否也可以在pyplot中让一个轴占据多个子图?pyplot.subplot的文档字符串不说了。任何人有一个简单的解决方案? 最佳答案 你可以这样做:importnumpyasnpimportmatplotlib.pyplotasplt
我想在一个图中有三个图。该图的子图布局应为2×2,其中第一个图应占据前两个子图单元格(即整个第一行图单元格),其他图应位于单元格3和4中的第一个图下方。我知道MATLAB通过使用subplot命令允许这样做:subplot(2,2,[1,2])%theplotwillspansubplots1and2是否也可以在pyplot中让一个轴占据多个子图?pyplot.subplot的文档字符串不说了。任何人有一个简单的解决方案? 最佳答案 你可以这样做:importnumpyasnpimportmatplotlib.pyplotasplt
是否可以在matplotlib图形中保存(到png)单个子图?假设我有importpyplot.matplotlibaspltax1=plt.subplot(121)ax2=plt.subplot(122)ax1.plot([1,2,3],[4,5,6])ax2.plot([3,4,5],[7,8,9])是否可以将两个子图中的每一个保存到不同的文件中,或者至少将它们分别复制到一个新图形中以保存它们?我在RHEL5上使用1.0.0版的matplotlib。 最佳答案 虽然@Eli非常正确,通常不需要这样做,但这是可能的。savefig
是否可以在matplotlib图形中保存(到png)单个子图?假设我有importpyplot.matplotlibaspltax1=plt.subplot(121)ax2=plt.subplot(122)ax1.plot([1,2,3],[4,5,6])ax2.plot([3,4,5],[7,8,9])是否可以将两个子图中的每一个保存到不同的文件中,或者至少将它们分别复制到一个新图形中以保存它们?我在RHEL5上使用1.0.0版的matplotlib。 最佳答案 虽然@Eli非常正确,通常不需要这样做,但这是可能的。savefig
我在matplotlib上找到了以下示例:importnumpyasnpimportmatplotlib.pyplotaspltx1=np.linspace(0.0,5.0)x2=np.linspace(0.0,2.0)y1=np.cos(2*np.pi*x1)*np.exp(-x1)y2=np.cos(2*np.pi*x2)plt.subplot(2,1,1)plt.plot(x1,y1,'ko-')plt.title('Ataleof2subplots')plt.ylabel('Dampedoscillation')plt.subplot(2,1,2)plt.plot(x2,y2,
我在matplotlib上找到了以下示例:importnumpyasnpimportmatplotlib.pyplotaspltx1=np.linspace(0.0,5.0)x2=np.linspace(0.0,2.0)y1=np.cos(2*np.pi*x1)*np.exp(-x1)y2=np.cos(2*np.pi*x2)plt.subplot(2,1,1)plt.plot(x1,y1,'ko-')plt.title('Ataleof2subplots')plt.ylabel('Dampedoscillation')plt.subplot(2,1,2)plt.plot(x2,y2,
在matplotlib的循环中生成的子图网格中添加行和列标题的最佳做法是什么?我能想到一对,但不是特别整齐:对于列,使用循环计数器,您可以将set_title()仅用于第一行。对于行,这不起作用。您必须在绘图之外绘制text。您在顶部添加额外的一行子图,在左侧添加一列额外的子图,并在该子图的中间绘制文本。你能推荐一个更好的选择吗? 最佳答案 有几种方法可以做到这一点。简单的方法是利用绘图的y标签和标题,然后使用fig.tight_layout()为标签腾出空间。或者,您可以使用annotate在正确的位置放置其他文本然后半手动为其腾
在matplotlib的循环中生成的子图网格中添加行和列标题的最佳做法是什么?我能想到一对,但不是特别整齐:对于列,使用循环计数器,您可以将set_title()仅用于第一行。对于行,这不起作用。您必须在绘图之外绘制text。您在顶部添加额外的一行子图,在左侧添加一列额外的子图,并在该子图的中间绘制文本。你能推荐一个更好的选择吗? 最佳答案 有几种方法可以做到这一点。简单的方法是利用绘图的y标签和标题,然后使用fig.tight_layout()为标签腾出空间。或者,您可以使用annotate在正确的位置放置其他文本然后半手动为其腾