Matplotlib |将方向更改为纵向

时间:2014-11-25 16:17:08

标签: python matplotlib

我有这个脚本在同一页面中绘制7系列。我想将页面方向设置为Portrait。你可以看到,我试过了:

f.savefig(sta+'.pdf', orientation='portrait', format='pdf')

但没有任何反应!

你有什么建议吗?

f, (ax1, ax2, ax3, ax4, ax5, ax6, ax7) = plt.subplots(7, sharex=True, sharey=False)
    plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=0.5)
    ax1.plot(xtr[:num.size(xt),i], color='black')
    ax2.plot(ytr[:num.size(yt),i], color='black')
    ax3.plot(ztr[:num.size(zt),i], color='black')
    ax4.plot(obs_dataV[:,i], color='g')
    ax5.plot(obs_dataH[:,i], color='r')
    ax6.plot(obs_dataP, color='g')
    ax7.plot(obs_dataS, color='r')
    ax1.set_title( sta+' Raw data', loc='left', fontsize='10')
    ax4.set_title('Vertical and Horizontal traces', loc='left', fontsize='10')
    ax6.set_title('Characteristic functions', loc='left', fontsize='10')
    ax1.legend('X',loc='center right', fontsize='12')
    ax2.legend('Y',loc='upper right', fontsize='12')
    ax3.legend('Z',loc='upper right', fontsize='12')
    ax4.legend('P',loc='upper right', fontsize='12')
    ax5.legend('S',loc='upper right', fontsize='12')
    ax6.legend('P',loc='upper right', fontsize='12')
    ax7.legend('S',loc='upper right', fontsize='12')
    f.savefig(sta+'.pdf', orientation='portrait', format='pdf')
    plt.show()

提前致谢: - )

1 个答案:

答案 0 :(得分:3)

我认为你想要改变数字大小,而不是与页面布局有关的任何事情。 orientation kwarg到savefig实际上仅适用于PS和EPS后端。对于PDF,页面大小定义为等于图形大小,因此它没有任何效果。

作为当前结果的简短示例:

import matplotlib.pyplot as plt
fig, ax = plt.subplots(nrows=7, sharex=True, sharey=False)
fig.subplots_adjust(hspace=0.5)
plt.show()

enter image description here

要更改图的大小,请使用figsize kwarg:

import matplotlib.pyplot as plt
fig, ax = plt.subplots(nrows=7, figsize=(8, 11), sharex=True, sharey=False)
fig.subplots_adjust(hspace=0.5)
plt.show()

enter image description here