Объект Matplotlib plt распределяется между участками - PullRequest
0 голосов
/ 27 июня 2018

У меня есть 2 функции: одна строит линию временного ряда, другая - автокорреляцию.

def plotacorr(dfasst):
    # Plot autocorrelation
    plt.acorr(dfasst, maxlags=3)
    # Add labels to autocorrelation plot
    plt.title('Autocorrelation of Asset Balances with previous Months Balances')
    plt.xlabel('Lag in Months')
    plt.ylabel('Autocorrelation')

    # Display the autocorrelation plot
    #plt.show()
    plt.savefig('C:/acorr_assets.jpeg')

def plottrend(df_acctsmry2):
    fig, ax = plt.subplots()
    fmt = '${x:,.0f}'
    tick = mtick.StrMethodFormatter(fmt)
    ax.yaxis.set_major_formatter(tick) 

    df_acctsmry2.plot(x='REPORTING_DATE',ax=ax,figsize=(20,12))
    plt.xticks(fontsize=20)
    plt.yticks(fontsize=20)
    plt.xlabel('REPORTING_DATE', fontsize=18)
    #plt.show()
    plt.savefig('C:/output.jpeg')

Сначала я вызываю plottrend, а затем plotacorr. Но похоже, что каким-то образом объект plt становится общим между двумя графиками, поэтому на графике автокорреляции я вижу тот же результат, что и plottrend.

1 Ответ

0 голосов
/ 27 июня 2018

Раскомментируйте plt.show() для каждой функции, которая должна это делать (или вызовите plt.show() между вызовами функций).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...