получить цвет для каждой категории - PullRequest
0 голосов
/ 25 марта 2019

У меня есть следующая диаграмма диаграмма

Мне нужно получить цвет для каждой категории в легенде.Например, мне нужно знать, какой цвет используется для платформы Twitter.Я извлекаю тексты легенды, используя

legend=ax.get_legend()
  legend.texts

, но все же мне нужно знать цвет

1 Ответ

1 голос
/ 25 марта 2019

Позвольте мне предложить следующее: Если вы указываете палитру и порядок оттенков, которые будут использоваться для графика, вы можете использовать их для прямого возврата цвета категории оттенков на графике.

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np; np.random.seed(42)

df = pd.DataFrame({"x" : ["Category"] * 30,
                   "y" : np.random.rand(30),
                   "hue" : np.random.choice(list("ABCDEFGHIJKL"), size=30)})

hues = df["hue"].unique()
palette = sns.husl_palette(len(hues), l=0.7)

sns.swarmplot(x="x", y="y", hue="hue", palette=palette, hue_order=hues, data=df)

выходы

enter image description here

Тогда

# print the color of the letter 'B' in the plot
color = palette[list(hues).index("B")]
print(color)

дает вам цвет RGB

[0.21538975947324868, 0.7566005611127228, 0.3762755878794595]

или, для всех цветов

for hue, color in zip(hues, palette):
    print("The color of '{}' is: {}".format(hue, color))

выходы

The color of 'C' is: [0.9709009234187059, 0.5326413088101082, 0.6030946551014079]
The color of 'G' is: [0.9564746134064298, 0.5689330861555781, 0.21514455558380652]
The color of 'E' is: [0.7694979084301814, 0.6558708257601433, 0.21360096988729887]
The color of 'I' is: [0.5896986083607835, 0.7091177093811508, 0.21250650504472351]
The color of 'B' is: [0.21538975947324868, 0.7566005611127228, 0.3762755878794595]
The color of 'D' is: [0.22701819286983138, 0.7401655088143408, 0.632501836267289]
The color of 'L' is: [0.2350973175622082, 0.7278659021357948, 0.7570948140143763]
The color of 'J' is: [0.24712600818727698, 0.708085275229765, 0.9105299070653927]
The color of 'H' is: [0.6214187468312122, 0.6348139081106288, 0.9644867235044855]
The color of 'A' is: [0.874677664347576, 0.53077533058416, 0.9640932638014564]
The color of 'F' is: [0.9675513199127449, 0.5048915449454215, 0.8037781860187498]
...