Python 保存图形,使其具有相同的大小,不受x刻度、Y刻度和B刻度的影响
我正试图创造一些数字出版。当我把它们插入乳胶中时,它们排列不整齐。基本上,因为x记号和标签不同,它们最终看起来是这样的: 我用来保存这些数字的代码如下:Python 保存图形,使其具有相同的大小,不受x刻度、Y刻度和B刻度的影响,python,matplotlib,save,png,figure,Python,Matplotlib,Save,Png,Figure,我正试图创造一些数字出版。当我把它们插入乳胶中时,它们排列不整齐。基本上,因为x记号和标签不同,它们最终看起来是这样的: 我用来保存这些数字的代码如下: size_f = 20 #### Set labels #### ax.set_ylabel(r'$W_{kin} \ [eV]$', fontsize=size_f) ax.set_xlabel(r'$Time \ [sec]$', fontsize=size_f) #### Set fig dimensions #### plt.r
size_f = 20
#### Set labels ####
ax.set_ylabel(r'$W_{kin} \ [eV]$', fontsize=size_f)
ax.set_xlabel(r'$Time \ [sec]$', fontsize=size_f)
#### Set fig dimensions ####
plt.rcParams["figure.figsize"] = [10,8]
#### Set tick size ####
ax.tick_params(axis='x',labelsize=size_f)
ax.tick_params(axis='y',labelsize=size_f)
#### Save figure ####
fig.savefig(r'C:\Users\nikos.000\vlahos\png\Dw_UCS.png', format='png',dpi=300,bbox_inches='tight')
如何使框具有相同的大小,使图形更好地排列,而不受轴标记和标签的影响。用于在同一图像中整齐地获得多个绘图。我强烈建议您使用。您可以调整每个子批次的特征,而不会扰乱总体外观。我为您添加代码以使用您的项目
import matplotlib.pyplot as plt
x = range(10)
y = range(10)
size_f = 12
labels = ("(a)", "(b)", "(c)", "(d)")
fig, ax = plt.subplots(2, 2, figsize=(10, 8))
ax[0, 0].plot(x, y, 'r')
ax[0, 0].text(-0.1, 1., labels[0], transform=ax[0, 0].transAxes, fontsize=15, fontweight='normal', va='top', ha='right')
ax[0, 1].plot(x, y, 'b')
ax[0, 1].text(-0.1, 1., labels[1], transform=ax[0, 1].transAxes, fontsize=15, fontweight='normal', va='top', ha='right')
ax[1, 0].plot(x, y, 'g')
ax[1, 0].text(-0.1, 1., labels[2], transform=ax[1, 0].transAxes, fontsize=15, fontweight='normal', va='top', ha='right')
ax[1, 1].plot(x, y, 'k')
ax[1, 1].text(-0.1, 1., labels[3], transform=ax[1, 1].transAxes, fontsize=15, fontweight='normal', va='top', ha='right')
for row in range(2):
for col in range(2):
ax[row, col].set_ylabel(r'$W_{kin} \ [eV]$', fontsize=size_f)
ax[row, col].set_xlabel(r'$Time \ [sec]$', fontsize=size_f)
fig.subplots_adjust(wspace=0.3)
fig.subplots_adjust(hspace=0.3)
fig.savefig(r'C:\Users\nikos.000\vlahos\png\Dw_UCS.png', format='png',dpi=300,bbox_inches='tight')
图为:
由于每个子包都有共同的和独立的特性,所以我没有将所有内容都放入块的
中,谢谢!太棒了!你知道我怎样才能改变标签的大小吗?你要求标签的大小吗?在ax[row,col].set_ylabel(r'$W{kin}\[eV]$,fontsize=size\u f)
,只需更改size\u f
。但是,我想,你想学一种不同的东西。你能再解释一下吗?或者你说的是(a)、(b)等的标签?然后在ax[0,0]。text(-0.1,1.,labels[0],transform=ax[0,0]。transAxes,fontsize=15,fontwweight='normal',va='top',ha='right')
将fontsize
参数从15增加到18或更多。确保应用了所有子批次。(ax[0,0],ax[0,1],ax[1,0],ax[1,1]
)