matplotlib 如何为历史图添加颜色?[duplicate]

ujv3wf0j  于 2022-12-27  发布在  其他
关注(0)|答案(1)|浏览(116)
    • 此问题在此处已有答案**:

seaborn - how to use multiple parameter in seaborn.histplot?(2个答案)
Seaborn Plot Distribution with histogram with stat = density or probability?(1个答案)
昨天关门了。
这是密码:

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np 

plt.figure(figsize=(15,8))
ax=sns.histplot(x='type',data=df[df.isFraud == 1],stat='percent',multiple='dodge',common_norm=False,bins=25)
ax=sns.histplot(x='type',data=df[df.isFraud == 0],stat='percent',multiple='dodge',common_norm=False,bins=25)
ax.set_ylabel('Percentage in Each Type')
ax.set_xlabel('Transaction Amount')
plt.legend(labels=['Fraud', 'Not Fraud'])
plt.show()

这是输出

https://i.stack.imgur.com/2et9z.jpg
我需要不同的颜色来表示"欺诈"和"非欺诈"
我试着根据文档添加颜色和调色板参数,但没有效果。我认为它被其他东西覆盖了,但我不确定是什么。
我正在处理kaggle的一个数据框。我想展示列[isFraud 0 or 1]和交易类型之间的相关性。我编辑了帖子并添加了一个数据框示例。
这里是 Dataframe

的屏幕截图

9jyewag0

9jyewag01#

我用seaborn的tips数据集复制了您的代码,尝试使用histplotcolor参数,如下所示。

import matplotlib.pyplot as plt
import seaborn as sns

df = sns.load_dataset('tips')

plt.figure(figsize=(15,8))
ax=sns.histplot(x='time',data=df[df.smoker == "Yes"],stat='percent',multiple='dodge',common_norm=False,bins=25, color='b')
ax=sns.histplot(x='time',data=df[df.smoker == "No"],stat='percent',multiple='dodge',common_norm=False,bins=25, color='r')
ax.set_ylabel('/')
ax.set_xlabel('Time')
plt.legend(labels=['Smoker', 'Not smoker'])
plt.show()

Here is the output.

相关问题