如何在Python中关闭绘图窗口后设置绘图标题

时间:2014-07-14 11:42:17

标签: python matplotlib plot

我想在关闭绘图窗口后根据用户选择更改绘图标题。

    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)

新的更改并没有修改旧标题,有没有其他方法来解决这个问题... 提前谢谢......

1 个答案:

答案 0 :(得分:1)

发生的事情是plt界面始终指的是&#34;当前&#34;图形/轴/等

在您关闭数字后,&#34;当前&#34;轴是一个新的空白图。

出于这个原因和其他几个原因,最好坚持使用轴方法(除了plt.figureplt.subplotsplt.show之类的一些功能,使处理创建和显示数字更容易)。

使用轴或图形对象的方法可以更清楚地修改轴/图形的关系。否则,你需要知道&#34;当前&#34;轴是。


在您的情况下,不要使用plt.title('blah'),而是使用ax.set(title='blah')(或ax.set_title)。