期望得到一个图,但只是用 Pandas 得到轴坐标

Expect to get a plot, but just get axes coordinates with Pandas

我正在尝试使用 Pandas 绘制一些非常简单的数据。我希望得到图形输出,但唯一的输出是 Axes(0.125,0.1;0.775x0.8) 我需要做什么才能看到实际的绘图?

import pandas as pd
BabyDataSet = [('Bob', 968), ('Jessica', 155), ('Mary', 77), ('John', 578), ('Mel', 973)]
df = pd.DataFrame(data = BabyDataSet, columns=['Names', 'Births'])
print df['Births'].plot()

首先,只需执行 print df['Births'].plot() 即可将 Axes 对象打印到控制台。这只有帮助matplotlib绘制相关信息所需的数据。

其次,你需要导入matplotlib。它处理 pandas 中的图形,而不是 pandas 本身。

只需执行以下操作:

import matplotlib.pyplot as plt
plt.show()

这应该会弹出一个包含您的相关信息的图表。

由于您不是 运行 iPython pylab 模式,您是否尝试过像这样导入 matplotlib:

import matplotlib.pyplot as plt

然后使用plt.show()显示剧情

所以这里的问题是 pycharm 没有配置为交互模式,因此您必须通过执行以下操作手动显示绘图:

import pandas as pd
# add this
import matplotlib.pyplot as plt
BabyDataSet = [('Bob', 968), ('Jessica', 155), ('Mary', 77), ('John', 578), ('Mel', 973)]
df = pd.DataFrame(data = BabyDataSet, columns=['Names', 'Births'])
df['Births'].plot()
# add this too
plt.show()

查看相关内容:Enthought + PyCharm - cannot show plots anymore

至于为什么你会看到坐标轴,这是因为当你调用 df.plot()

时返回的是坐标轴