什么时候必须使用plt.show()?

时间:2019-11-10 14:28:35

标签: python python-3.x pandas

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

np.random.seed(0)  
df_new = pd.DataFrame(np.random.randn(5,3), columns=list('ABC'))

df_new.plot(kind='bar')

我不知道我是否必须使用plt.show()。因为如果只有df_new.plot(kind='bar'),它将显示该图。如果我添加plot.show(),它也会显示。它们之间有什么区别?我用Jupyter。预先感谢。

3 个答案:

答案 0 :(得分:0)

我尝试了您的代码,但没有plt.show(),该图没有显示。我认为这取决于您使用的IDE。因此,请使用plt.show()以获得可重复性。

答案 1 :(得分:0)

df_new.plot(kind ='bar')将实例化并返回plt对象,类似于:“”,因此您必须为此对象调用plt.show()才能看到您的绘图。当您调用plt.show()时,会发生以下情况: show()函数将绘制最后创建的plt对象的plot属性。希望能帮助到你。

答案 2 :(得分:0)

我猜您正在使用jupyter之类的交互式工具。
如您所说的是朱庇特,df.plot(kind ='bar')将显示图形。
在交互式工具中,创建所有绘图后,您需要使用plt.show()

  import matplotlib.pyplot as plt
  plt.plot(x, y)
  plt.plot(y,z)
  plt.show()

在python IDLE中,如果仅使用df.plot((kind = 'bar'),它将不会在运行时显示图形。
要在不使用IDLE的plt.show()的情况下显示图形,可以按照以下步骤操作。

 import matplotlib.pyplot as plt
 from matplotlib import interactive
 import pandas as pd
 import numpy as np

 #Set interactive mode to True
 interactive(True)
 df = pd.DataFrame(np.random.randn(5,3), columns = list('ABC'))
 df.plot(kind = 'bar')

我希望这能回答您的问题。