确保Seaborn的板凳的颜色一致

时间:2019-02-23 20:15:14

标签: python jupyter-notebook seaborn

我一直在使用Jupyter Notebook处理数据集,我正在比较通过仓库运输的物品数量与这些物品的拣选数量。

我正在使用Seaborn渲染图。

我在一个网格中有两个条形图,并且数据未排序,这些图看起来像这样:

Unsorted data

使用以下代码:

plt.figure(1, figsize=(20,15))
gs = gridspec.GridSpec(2, 2)

plt.subplot(gs[0,0], title="Count of SKU pick events")
sns.barplot(x='qty', y='sku', data=sku_count, palette='Spectral')
plt.subplot(gs[0,1], title="Sum of SKU quantities picked")
sns.barplot(x='qty', y='sku',data=sku_sum, palette='Spectral')

可以看出,两个图之间每个条的颜色都对应。

一旦我按照每个图的各自数量(COUNT vs SUM)对数据进行排序,就会出现问题:

sku_sum = sku_sum.sort_values('qty',ascending=False)
sku_count = sku_count.sort_values('qty',ascending=False)

并使用类似的代码重新渲染图形:

plt.figure(2, figsize=(20,15))
gs = gridspec.GridSpec(2, 2)

plt.subplot(gs[0,0], title="Count of SKU pick events")
sns.barplot(x='qty', y='sku', data=sku_count, palette='Spectral', hue_order=h_o)
plt.subplot(gs[0,1], title="Sum of SKU quantities picked")
sns.barplot(x='qty', y='sku',data=sku_sum, palette='Spectral', hue_order=h_o)

Sorted data

从第4行开始,系列颜色不对应。

我想在列表中定义我的色相序列,以后我使用huehue_order进行引用:

#hue_order handling (TODO: NOT WORKING YET!)
h_o = ['A','B','C','D','E','F','G','H']

我尝试使用hue,但我认为该代码用于向数据添加其他维度,并使用以下代码:

plt.figure(3, figsize=(20,15))
gs = gridspec.GridSpec(2, 2)

plt.subplot(gs[0,0], title="Count of SKU pick events")
sns.barplot(x='qty', y='sku', data=sku_count, palette='Spectral', hue=h_o)
plt.subplot(gs[0,1], title="Sum of SKU quantities picked")
sns.barplot(x='qty', y='sku',data=sku_sum, palette='Spectral', hue=h_o)

产生以下结果: Oh no the hues!

我绝对不需要。

关于如何针对具有不同数据的同一系列序列,如何锁定不同图形之间的色相的任何建议?

0 个答案:

没有答案