【发布时间】:2021-03-04 09:43:28
【问题描述】:
假设我有一个类似于下图中的 DataFrame (df),但 Score 列中缺少值:
我想绘制一个水平的 seaborn 条形图,Pvalue 在 x 轴上,条形的颜色对应于 Score。即使我定义了一个颜色图并告诉它将 NaN 显示为黑条,它们也根本不会显示。
import seaborn as sns
from matplotlib import cm
bwrNan = copy(cm.get_cmap('bwr'))
bwrNan.set_bad('black')
cm.register_cmap("mycmap", bwrNan)
sns.barplot(data=df, x='Pvalue', y='Labels', hue='Score', palette='mycmap', linewidth=2, edgecolor='k', dodge=False)
另一方面,如果我尝试在 seaborn 热图中使用相同的数据,我会得到正确的颜色:
sns.heatmap(data=df[['Score']], cmap='mycmap')
【问题讨论】:
标签: python pandas seaborn bar-chart nan