Python 为什么plt.xlim()从空白绘图返回(0,1)?
我可能犯了一个愚蠢的错误,但我正试图从我绘制的直方图中获取“xlim”值Python 为什么plt.xlim()从空白绘图返回(0,1)?,python,matplotlib,Python,Matplotlib,我可能犯了一个愚蠢的错误,但我正试图从我绘制的直方图中获取“xlim”值 data = np.random.normal(loc=10.0, scale=2.5, size=500) plt.hist(data, bins=25, color='b') x_min, x_max = plt.xlim() print(x_min) print(x_max) 然而,当我编译上述行时,它返回给我'x_min=0'和'x_max=1.0'以及一个空白图,其中x轴范围为0到1 有人能告诉我出了什么
data = np.random.normal(loc=10.0, scale=2.5, size=500)
plt.hist(data, bins=25, color='b')
x_min, x_max = plt.xlim()
print(x_min)
print(x_max)
然而,当我编译上述行时,它返回给我'x_min=0'和'x_max=1.0'以及一个空白图,其中x轴范围为0到1
有人能告诉我出了什么问题吗?使用相同的脚本或IPython单元
如果您在同一个notebook cell脚本中运行问题代码,它将生成所需的输出,即打印历史程序的限制
但是,如果您真的想从不同的单元格运行它,那么您将遇到pyplot在后续单元格中忘记其内容的问题。在这种情况下,您有两种选择
使用面向对象的方法
直接通过各自的方法ax.get_xlim处理对象(在本例中为轴)
将IPython配置为不关闭图形
您可以使用IPython配置告诉后端不要关闭pyplot图形
%config InlineBackend.close_figures=False # keep figures open in pyplot
在这种情况下,问题中的代码甚至可以在不同的单元格中工作
这里也有人问过类似的问题:我无法重现。您确定这就是您用来产生问题的所有代码吗?如果您在plt.hist之后使用plt.figure意外创建了一个空图形,则可能会发生这种情况?您似乎正在使用IPython或Juypter笔记本。这些信息非常重要,不应该被排除在问题之外。对不起,我会记住的!
%config InlineBackend.close_figures=False # keep figures open in pyplot