Matplotlib在控制台

时间:2018-06-09 20:48:15

标签: python matplotlib plot spyder display

我正在学习如何使用matplotlib。从我读到的,似乎plot()函数应该创建绘图,show()应该显示它。但是,当我运行以下命令时,显示在plt.plot()行上,而不是plt.show():

In [1]: import matplotlib.pyplot as plt

In [2]: %matplotlib inline

In [3]: plt.plot()
Out[3]: []

In [4]: plt.show()

上面的输出显示plot.plot()之后的空图,但是plt.show()什么都不做。我正在使用Spyder和iPython控制台。通过编辑器运行代码会产生相同的结果。我误解了每个功能单独做什么或者我没有得到正确的结果。如果这是一个愚蠢的问题,请道歉。

为了清楚起见:

我的问题不在于情节不显示。情节显示完美!我的问题是到目前为止,似乎plt.show()函数没有做任何事情。我可以运行我的程序,使用plt.plot(x,y)创建一个绘图,更改标签之类的参数,即使我完全省略plt.show(),它也会按预期显示。 plt.show()似乎没有任何功能,因为这是我的问题。

2 个答案:

答案 0 :(得分:1)

您正在使用Jupyter / IPython Qt控制台(这是Spyder最新版本中的唯一选项)。它可以配置为从创建它们的单元格中自动显示绘图。此选项称为inline后端,您可以通过将IPython魔法设置为%matplotlib inline来获得。在spyder中,可以通过

配置这些东西

"工具\首选项\ IPython控制台\图形" 选项。

enter image description here

如果您选择内联之外的任何其他选项,或停用"支持图形"你应该像往常一样需要plt.show()来显示情节。

答案 1 :(得分:-1)

使用相同的代码: Jupiter Notebook IDE中的%matplotlib笔记本。 此外,您需要一次性使用代码,因为plt.show()适用于以前的命令。