Как контролировать, когда составлять график морских линий? - PullRequest
0 голосов
/ 12 июля 2019

У меня есть следующий код, в котором я создаю диаграмму распределения данных, получаю данные построенной кривой и вычисляю площадь выше с интегралом.Но я хочу решить, должны ли графики быть построены графически или нет.Потому что иногда я хочу построить график, чтобы увидеть распределение в графическом виде, но иногда я хочу видеть только числовые результаты вычисленных областей.

fig, axs = plt.subplots(nrows=len(marcos), ncols=1, figsize=(5, 2.5*len(marcos)))

for i, m in enumerate(marcos):
    axs[i].set(ylabel=m)
    axs[i].set_xlim(-marcos_x_lim[i],marcos_x_lim[i])
    sns.distplot(data[data['color']=='verde'][m], hist=False, color="g", kde_kws={"shade": True}, ax=axs[i])

    meanG = data[data['color']=='verde'][m].mean()
    medianG = data[data['color']=='verde'][m].median()
    axs[i].axvline(meanG, color='g', linestyle='-')
    axs[i].axvline(medianG, color='g', linestyle='--')

    #Get the data from the KDE line
    xdata_v, ydata_v = axs[i].get_lines()[0].get_data()

    area_v_pos = scipy.integrate.trapz(...)

Я пробовал с plt.ioff(), но это не работает,графики всегда отображаются в консоли.Я использую Spyder.

1 Ответ

0 голосов
/ 12 июля 2019

Вы можете использовать plt.close и plt.show() - например,

df = pd.read_csv(r'https://vincentarelbundock.github.io/Rdatasets/csv/datasets/mtcars.csv').rename({'Unnamed: 0':'car'}, axis=1)

for col in ['hp', 'disp', 'cyl', 'gear']:
    plt.scatter(df[col], df['mpg'])
    plt.title(col)
    # plt.savefig() 
    # etc.
    if col in ['hp', 'disp']:
        plt.show()
    else:
        plt.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...