我有一个像这样的数据集:
Result test_value File_id
Ok 2231 3
Ok 3322 32
No 1000 1
ok 4300 45
No 3999 ...
这是一个数据框。我正试图为此绘制一个直方图,以查看多少个值是好的,有几个值是否。
我做到了:
plot_test=data['value'].hist(by=data['Result'],sharex=True,bins=10)
我得到2个地块,
1个图表示否,1个图表示确定。
我只希望看到1个直方图,其中Ok值为,而No值为2种不同的颜色。
答案 0 :(得分:0)
您可以使用seaborn来完成此任务。您只需要用所需的行调用distplot
。
请参见下面的代码
import seaborn as sns
sns.distplot( df.loc[df['Result'] == 'Ok']['Value'] , color="skyblue", label="Ok")
sns.distplot( df.loc[df['Result'] == 'No']['Value'] , color="red", label="No");
使用您发布的示例数据,运行此代码将生成如下图,
sns.distplot(df.loc[df['Result'] == 'Ok']['test_value'])
sns.distplot(df.loc[df['Result'] == 'No']['test_value']);
df.dtypes
为示例
Result object
test_value int64
File_id object
dtype: object
答案 1 :(得分:0)
您可以将'Result'
设置为hue
import seaborn as sns
sns.countplot(x='test_value', hue='Result',data=data)