我想在关闭绘图窗口后根据用户选择更改绘图标题。
ax = pd.rolling_mean(dataToPlot_plot[startTime:endTime][['plotValue']],mar).plot(linestyle='-', linewidth=3, markersize=9, color='#FECB00')
ax.legend().set_visible(False)
titObj = plt.title('Data Plot - '+"\n", fontsize=13)#plot title
plt.show()#showing the plot
fig = ax.get_figure()
fig.set_size_inches(12, 6)
fig.savefig(savePlot)
现在我需要根据绘图上的用户选择动态更改绘图标题并保存...
ax = pd.rolling_mean(dataToPlot_plot[startTime:endTime][['plotValue']],mar).plot(linestyle='-', linewidth=3, markersize=9, color='#FECB00')
ax.legend().set_visible(False)
titObj = plt.title('Data Plot - '+"\n", fontsize=13)#plot title
plt.show()#showing the plot
curVal = ax.get_xlim()
stdate = int(curVal[0])
endate = int(curVal[1])
difdate = endate - stdate
fig = ax.get_figure()
if stdate > 0 and endate > 0:
if difdate > 365:
newplotTitle = 'Data Plot - Since from start'
elif difdate > 28 and difdate < 365:
newplotTitle = 'Data Plot - Past Month'
elif difdate < 28:
newplotTitle = 'Data Plot - Past Days'
plt.title(newplotTitle+"\n", fontsize=13)#plot title
fig.set_size_inches(12, 6)
fig.savefig(savePlot)
新的更改并没有修改旧标题,有没有其他方法来解决这个问题... 提前谢谢......
答案 0 :(得分:1)
发生的事情是plt
界面始终指的是&#34;当前&#34;图形/轴/等
在您关闭数字后,&#34;当前&#34;轴是一个新的空白图。
出于这个原因和其他几个原因,最好坚持使用轴方法(除了plt.figure
,plt.subplots
,plt.show
之类的一些功能,使处理创建和显示数字更容易)。
使用轴或图形对象的方法可以更清楚地修改轴/图形的关系。否则,你需要知道&#34;当前&#34;轴是。
在您的情况下,不要使用plt.title('blah')
,而是使用ax.set(title='blah')
(或ax.set_title
)。