猿问

Matplotlib 在 for 循环中显示空图

我定义了一个自定义函数并将值列表保存到海岸线变量中。我确定这个变量中有变量,因为我尝试了 print(shoreline) 并且我能够获得值列表。

此 for 循环将遍历“文件夹”并每次为海岸线提供不同的列表。

现在,如果我尝试下面的代码,输出图是空的。奇怪的是我能够获得正确的标题,而标题是从值中派生出来的。但是 value 参数不知何故没有传递到 plot 中。

这不是 plt.show() 的问题,因为绘图显示在输出窗口中,但它不包含任何数据。

我期待的正确情节是这样的(使用不同的数据)

http://img2.mukewang.com/63ec8ab200017d2606570515.jpg

有人可以帮我解决这个问题吗?


from production import get_volume

for args in folders:

    shoreline = get_volume(args)

    

    import seaborn as sns

    import matplotlib.pyplot as plt

    import statistics 

    median = statistics.median(shoreline)

    sns.set_style("ticks")

    ax1=sns.distplot(shoreline, bins=70, color="#1B87C0",

                     kde_kws={"color": "k", "lw": 0.7, "alpha":0.8, "label": "KDE"},) 

    ax1.set(xlabel = 'Elevation (m)', ylabel='Kernel density')

    ax1.set_title('Shoreline elevation distribution\n'+ args.stem+'\nMedian = '+str(median))

    plt.legend(frameon=False, loc='upper left')

    figname = str(figure_path/ 'Shoreline_{}.png'.format(args.stem))

    plt.savefig(figname, dpi = 300, bbox_inches='tight')

**编辑:Matplotlib 的自动缩放不知何故不起作用,我的数据范围从 81-100 并且轴一直到 1e6,这就是为什么情节似乎是空的。**


眼眸繁星
浏览 159回答 2
2回答

手掌心

问题在其中一条评论中得到了回答,Matplotlib 的自动缩放不知何故不起作用,我的数据范围从 81-100 并且轴一直到 1e6,这就是为什么情节似乎是空的。adjust adjust xlim 之后,绘图开始正确显示。

饮歌长啸

我是 matplotlib 的新手,但我没有看到这条线plt.show()你试过了吗?
随时随地看视频慕课网APP

相关分类

Python
我要回答