xlabel和ylabel超出绘图区域,无法在figu中完全显示

2024-10-01 13:28:10 发布

您现在位置:Python中文网/ 问答频道 /正文

enter image description here

从图中可以看出,xlabel和ylabe超出了绘图区域,不能完全显示出来。在

有人可能会说更改字体大小,但我希望字体大小更大。在

代码如下:

from numpy import *
from pylab import *
tduration=3600

if tduration<960:
    time=linspace(0,tduration,120)
else:
    n=(tduration-960)/480
    time1=linspace(0,960,8,endpoint=False)
    time2=linspace(960,tduration,n)

    time=hstack((time1,time2))
timemin=time/60
T0=20
Tf=T0+345*log10(8*timemin+1)
timetem=column_stack((timemin,Tf))
savetxt("timetem.txt",timetem,newline='\r\n',fmt='%f')
heatingRate=345/(8*timemin+1)
fig,ax1 =subplots()

ax2 = ax1.twinx()


rc('font',family='Times New Roman')


ax1.plot(timemin,Tf,'k',linewidth=3,label='ISO834 fire curve')
ax2.plot(timemin,heatingRate,'b--',linewidth=3,label='heating rate')
ax1.plot(0, 0,'b--', label = 'heating rate',linewidth=3)
leg=ax1.legend(loc='best',fontsize=24)
leg.get_frame().set_alpha(0.0)

ax1.set_ylabel(r"T$(^{\circ}C)$",fontsize=24,fontname="Times New Roman")
ax2.set_ylabel(r"Heating rate($^{\circ}C$/min)",fontsize=24,fontname="Times     New Roman")
ax1.set_xlabel("Time(min)",fontsize=24,fontname="Times New Roman") 
ax1.tick_params(labelsize=24)
ax2.tick_params(labelsize=24)
ax1.grid()
show()
fig.savefig('iso834 with hr.png', transparent=True)

Tags: newtimeplottfsettimesromanfontsize
1条回答
网友
1楼 · 发布于 2024-10-01 13:28:10

现在可能有点晚了,但不管怎样:

如果图形中有子图,则应指定图形的内页边距和子图中的空格。下面的代码将帮助您。在展示剧情之前把它放好。在

plt.subplots_adjust(wspace=0.6, hspace=0.6, left=0.1, bottom=0.22, right=0.96, top=0.96)

但是,另一个问题是如何在subblot_adjust中指定上述参数的值,那么答案是使用subblot_工具。把下面的代码放在显示绘图之前,弹出一个窗口,你可以玩这些值,找到你喜欢的。在

^{pr2}$

另外,最好使用figsize参数指定图形的总大小。在

我希望有帮助。在

相关问题 更多 >