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。预先感谢。
答案 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')
我希望这能回答您的问题。