来自Pandas DataFrame的基本Matplotlib散点图

时间:2013-12-06 22:22:42

标签: python python-2.7 matplotlib pandas

如何在DataFrame中创建列的基本散点图与该DataFrame的索引?我正在使用python 2.7。

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

dataframe['Col'].plot()
plt.show()

这显示了根据我的DataFrame索引中的值绘制的“Col”折线图(本例中为日期)。

但是如何绘制散点图而不是折线图?

我试过

plt.scatter(dataframe['Col'])
plt.show()

但是scatter()需要2个参数。那么如何将系列dataframe['Col']和我的数据框索引传递到scatter()

我为此我试过

plt.scatter(dataframe.index.values, dataframe['Col'])
plt.show()

但图表是空白的。

2 个答案:

答案 0 :(得分:9)

如果您只是想从行更改为点(并且不需要/需要使用matplotlib.scatter),您只需设置样式:

In [6]: df=  pd.DataFrame({'Col': np.random.uniform(size=1000)})

In [7]: df['Col'].plot(style='.')
Out[7]: <matplotlib.axes.AxesSubplot at 0x4c3bb10>

scatter_example

请参阅DataFrame.plot和一般plotting documentation的文档。

答案 1 :(得分:7)

奇怪。这应该有用。

运行此

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

dataframe = pd.DataFrame({'Col': np.random.uniform(size=1000)})
plt.scatter(dataframe.index, dataframe['Col'])

吐出像这样的东西

enter image description here

也许quit()并启动新会话?