Что эта строка означает в аргументе палитры для диаграммы рассеяния морского происхождения? - PullRequest
0 голосов
/ 09 апреля 2019

Из Галерея морских пейзажей - точечные диаграммы ,

import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="whitegrid")

# Load the example iris dataset
diamonds = sns.load_dataset("diamonds")

# Draw a scatter plot while assigning point colors and sizes to different
# variables in the dataset
f, ax = plt.subplots(figsize=(6.5, 6.5))
sns.despine(f, left=True, bottom=True)
clarity_ranking = ["I1", "SI2", "SI1", "VS2", "VS1", "VVS2", "VVS1", "IF"]
sns.scatterplot(x="carat", y="price",
                hue="clarity", size="depth",
                palette="ch:r=-.2,d=.3_r",
                hue_order=clarity_ranking,
                sizes=(1, 8), linewidth=0,
                data=diamonds, ax=ax)

Что означает эта загадочная строка "ch:r=-.2,d=.3_r"?

Единственная ссылка, которую я могу найти, это документ seaborn.color_palette , в котором говорится, что

Other options:
  name of matplotlib cmap, 'ch:<cubehelix arguments>', 'hls', 'husl', or a list 
  of colors in any format matplotlib accepts

Но все еще не могу найти ничего в matplotlib документе.

Итак, что именно это означает? До сих пор я знаю только суффикс _r, означающий «обратный» оттенков.

1 Ответ

1 голос
/ 09 апреля 2019

Синтаксис "ch:r=-.2,d=.3_r" зависит от моря. Поэтому неудивительно, что в документации по matplotlib ничего об этом нет.

Возможные варианты <cubehelix arguments> в 'ch:<cubehelix arguments>' банке косвенно выводится из документации seaborn.cubehelix_palette.

Это обеспечивает аргументы как

start : float, 0 <= start <= 3
          The hue at the start of the helix.
rot : float
          Rotations around the hue wheel over the range of the palette.
gamma : float 0 <= gamma
          Gamma factor to emphasize darker (gamma < 1) or lighter (gamma > 1) colors.
hue : float, 0 <= hue <= 1
          Saturation of the colors.
dark : float 0 <= dark <= 1
          Intensity of the darkest color in the palette.
light : float 0 <= light <= 1
          Intensity of the lightest color in the palette.

Вы можете использовать их в строке как

"ch:rot=-0.2,dark=0.3"

и для его сокращения достаточно использовать только первую букву

"ch:r=-0.2,d=0.3"

Обратите внимание, что с помощью этой мини-языка невозможно выбрать количество цветов.

...