如何控制何时绘制海图?

2024-06-14 11:27:48 发布

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

在下面的代码中,我创建了一个数据分布图,得到了绘制的曲线的数据,并用积分计算了上面的面积。但我想决定图表是否必须用图形绘制。因为有时我想绘图以图形方式查看分布,但有时我只想查看计算面积的数值结果

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


Tags: 数据图形datalen图表绘制pltcolor
1条回答
网友
1楼 · 发布于 2024-06-14 11:27:48

您可以使用plt.closeplt.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()

相关问题 更多 >