【问题标题】:Plotting a histogram with Matplotlib使用 Matplotlib 绘制直方图
【发布时间】:2015-10-25 03:55:10
【问题描述】:

由于某种原因,以下行不起作用:

plt.hist(diamonds.price)

但是,以下方法确实有效

diamonds.price.hist()

Diamonds 是一个 DataFrame,为什么我不能使用 pyplot 来绘制它。

谢谢。

【问题讨论】:

  • 问题无法重现。节目说什么?也许你应该添加 'plt.show()' ?

标签: python pandas matplotlib histogram


【解决方案1】:

如熊猫help所述,

Series 和 DataFrame 上的 plot 方法只是 plt.plot() 的简单包装:

情节需要了解 pandas 的数据结构,dataframe.hist() 会以正确的方式提取它。如果要使用 matplotlib 绘图,则需要从数据框中提取数据,例如,

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

dates = pd.date_range('1/1/2000', periods=8)
df = DataFrame(np.random.randn(8, 4), index=dates, columns=['A', 'B', 'C', 'D'])

plt.hist(df.values)
plt.show()

虽然,这可能不会以与使用 pandas 绘图方法相同的方式绘制数据,因为您已经丢弃了所有表格数据结构。

【讨论】: