Python Matplotlib:按组颜色图

时间:2017-08-15 22:06:25

标签: python pandas matplotlib

我正在尝试编辑以下代码的色彩映射,以便每个分组ID具有相同的颜色。目前,所有的线都有不同的颜色,这在历史上一直很好(虽然不是优选的),但是我现在有足够的线条使颜色重叠。简单地将色彩映射应用于绘图函数似乎总是返回相同的颜色。我也试过更改Matplotlab默认配色方案但没有成功,因为它似乎默认为相同的颜色数。我还没有找到一种方法来改变每个id_group的颜色,也没有增加颜色数量来为比例添加更多颜色。有任何想法吗?

此外,我对Matplotlib相对较新,任何有用的网站都有很好的示例代码,可以解决常见但复杂的问题。

df = pd.melt(data, id_vars=['id', 'name', 'mod', 'ms', 'avg'], value_vars=bp)
newdf = df.loc[(df['id']==747) & (df['mod']==79189) | (df['id']==748) & (df['mod']==79189) | (df['id']==165) & (df['mod']==79189)].reset_index()
newdf['test'] = newdf.value/newdf.avg
newdf.drop('index', axis = 1, inplace = True)
newdf.drop_duplicates(keep='first', inplace = True)
fig, ax = plt.subplots(figsize=(8,6))
for title, group in newdf.groupby('id'):
    group.groupby('ms').plot(x='variable', y='test', ax=ax, label = title)
    plt.legend(bbox_to_anchor=(1.078, 1))
    plt.tight_layout(rect=[0,0,1.5,1])
plt.show()

enter image description here

0 个答案:

没有答案