我想用pandas数据帧绘制直方图。我的数据框中有四列,但我想选择其中两列并绘制它。我插入了xaxis和yaxis值并绘制了三个子历史图。
以下是我的代码的样子:
fig = plt.figure(figsize=(9,7), dpi=100)
h = plt.hist(x=df_mean_h ['id'], y=df_mean_h ['mean'],
color='red', label='h')
c = plt.hist(x=df_mean_c ['id'], y=df_mean_c ['mean'],
color='blue', label='c')
o = plt.hist( x=df_mean_o['id'], y=df_mean_o ['mean'],
color='green', label='o')
plt.show()
当我尝试查看直方图时,它在屏幕上不显示任何内容。我该如何修复我的代码?
答案 0 :(得分:1)
您需要使用plt.show()
plt.hist()的工作方式与散点或系列不同。您无法发送x =和y =
https://matplotlib.org/1.2.1/examples/pylab_examples/histogram_demo.html
要使您的示例正常工作,只需将plt.hist发送到一列即可创建图表:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
d = {'one' : pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
'two' : pd.Series([1., 2., 3.], index=['a', 'b', 'c'])}
DF = pd.DataFrame(d)
fig = plt.figure(figsize=(9,7), dpi=100)
plt.hist(DF['two'])
plt.show()