using a custom colour scheme in pandas/matplotlib/

2019-07-04 06:49发布

问题:

I want to use a custom colour scheme using for various plots but can't get it to work (using seaborn and/or matplob & pandas for these plots)

flatui = ["#9b59b6", "#3498db", "#95a5a6", "#e74c3c", "#34495e", "#2ecc71"]
ax = sns.violinplot(x="Contents", y="Flavour", data=rd, color="lol", inner="box")

I get error code:

ValueError: to_rgb: Invalid rgb arg "flatui"
could not convert string to float: 'flatui'

even

ax = sns.violinplot(x="Contents", y="Flavour", data=rd, color=["9b59b6", "#3498db", "#95a5a6", "#e74c3c", "#34495e", "#2ecc71"], inner="box")

doesnt work

help please!

回答1:

Let's try this.

flatui = ["#9b59b6", "#3498db", "#95a5a6", "#e74c3c", "#34495e", "#2ecc71"]
sns.set_palette(flatui)
sns.palplot(sns.color_palette())

ax = sns.violinplot(x="Contents", y="Flavour", data=rd, color="lol", inner="box")

With some other data here are the results.



回答2:

You need to set colours via palettes in Seaborn or you can pass Violinplot the colours directly via the 'palette' parameter rather than 'color'. It's all in the Seaborn docs.