【问题标题】:Basic Matplotlib Scatter Plot From Pandas DataFrame来自 Pandas DataFrame 的基本 Matplotlib 散点图
【发布时间】:2013-12-24 10:29:45
【问题描述】:

如何制作 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()

但是图表是空白的。

【问题讨论】:

  • 这对我有用...您可以在问题中包含dataframe.head()dataframe.describe() 吗?

标签: python python-2.7 matplotlib pandas


【解决方案1】:

如果您只是想从线更改为点(而不是真的想要/不需要使用 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>

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

【讨论】:

  • 你是如何获得那个颜色主题的?当我执行相同的命令时,它看起来就像是常规的陈旧无聊的 matplotlib 类型的图表。
  • 在绘图前使用pd.options.display.mpl_style = 'default'或使用你自己的matplotlibrc
【解决方案2】:

奇怪。应该可以的。

运行这个

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'])

吐出这样的东西

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

【讨论】:

  • 你是如何获得那个颜色主题的?当我执行相同的命令时,它看起来就像是常规的陈旧无聊的 matplotlib 类型的图表。
猜你喜欢
  • 1970-01-01
  • 2020-01-19
  • 2016-01-06
  • 1970-01-01
  • 2020-08-15
  • 2020-07-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多