[PYTHON] So wählen Sie eine Seaborn-Farbpalette aus

Einführung

Dies ist eine Zusammenstellung von Auswahl von Farbpaletten des Python-Zeichenpakets seaborn. Eine Jupyter-Datei ist ebenfalls verfügbar.

Vorbereitung

python


%matplotlib inline
import seaborn as sns, numpy as np
from ipywidgets import interact, FloatSlider

Erstellen mit color_palette ()
(Erstellen von Farbpaletten mit color_palette ())

--color_palette kann verwendet werden, um die meisten Farbpaletten zu erstellen.

  • Mit set_palette können Sie die Standardfarbpalette festlegen (ein Beispiel finden Sie unten).

Qualitative Farbpaletten

  • Wenn Sie den Namen der Farbpalette nicht angeben, können Sie die aktuelle Farbpalette abrufen. (Das Folgende ist die Standardfarbpalette.) --palplot zeigt die Farbpalette an.

python


current_palette = sns.color_palette(n_colors=24)
sns.palplot(current_palette)

image

Die Standardfarbpalette enthält 6 Themen (tief, gedämpft, pastellfarben, hell, dunkel, farbenblind). (Standard ist tief) In Jupyter können Sie das Thema interaktiv überprüfen.

python


def show_pal0(palette):
    sns.palplot(sns.color_palette(palette, 24))
interact(show_pal0, palette='deep muted pastel bright dark colorblind'.split());

image

Hua-Farbpalette
(Verwenden kreisförmiger Farbsysteme)

Am häufigsten wird hls verwendet. Sie können es entweder mit color_palette oder hls_palette erstellen.

python


sns.palplot(sns.color_palette("hls",24))
sns.palplot(sns.hls_palette(24))

image image

Sie können die Helligkeit mit dem Parameter l und die Sättigung mit s angeben.

python


sns.palplot(sns.hls_palette(24, l=0.2))
sns.palplot(sns.hls_palette(24, s=0.2))

image image

Sie können eine klare Farbpalette erhalten, indem Sie die folgenden Schritte ausführen.

python


sns.palplot(sns.hls_palette(24, l=0.5, s=1))

image

In Jupyter können Sie Helligkeit und Sättigung interaktiv überprüfen.

python


def show_pal1(l, s):
    sns.palplot(sns.hls_palette(24, l=l, s=s))
interact(show_pal1, l=FloatSlider(0.6, max=1), s=FloatSlider(0.65, max=1));

image

Sie können auch Husl verwenden, wodurch die Helligkeitsschwankungen zwischen den Farbtönen von hls verringert werden.

python


sns.palplot(sns.husl_palette(24))

image

Kategoriefarbe
(Verwenden kategorialer Color Brewer-Paletten)

Eine Farbpalette mit einem Namen. Es ist ein bisschen alt, aber ich habe eine Liste vorbereitet (PDF zum Drucken). image

Referenz: https://matplotlib.org/examples/color/colormaps_reference.html

python


sns.palplot(sns.color_palette("Set1", 24))

image

In Jupyter ist es leicht zu sehen.

python


sns.choose_colorbrewer_palette('qualitative');

image

Sie können auch in RGB angeben, um eine Farbpalette zu erstellen.

python


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

image

Kontinuierliche Farbpaletten
(Sequentielle Farbpaletten)

  • Geben Sie einen bestimmten Namen für eine fortlaufende Farbpalette an.
  • Wenn Sie dem Namen "_d" hinzufügen, wird es dunkel. (Licht, wenn nicht angebracht)
  • Wenn Sie dem Namen "_r" hinzufügen, wird die Reihenfolge umgekehrt.

python


sns.palplot(sns.color_palette("Blues", 24))
sns.palplot(sns.color_palette("Blues_d", 24))
sns.palplot(sns.color_palette("Blues_r", 24))

image image image

In Jupyter ist es leicht zu sehen.

python


sns.choose_colorbrewer_palette('sequential');

image

Kontinuierliche Farbpaletten mit cubehelix_palette
(Sequentielle Paletten mit cubehelix_palette ())

Mit Cubehelix können Sie eine Farbpalette mit sich ständig ändernder Helligkeit erstellen, während Sie die Farbtöne ändern.

python


sns.palplot(sns.color_palette("cubehelix", 24))

image

cubehelix_palette scheint eine andere Farbpalette zu sein.

python


sns.palplot(sns.cubehelix_palette(24))

image

Durch Setzen von as_cmap = True kann es beim Zeichnen von Diagrammen mit dem Parameter cmap verwendet werden.

python


np.random.seed(1)
x, y = np.random.multivariate_normal([0, 0], [[1, -.5], [-.5, 1]], size=300).T
cmap = sns.cubehelix_palette(light=1, as_cmap=True)
sns.kdeplot(x, y, cmap=cmap, shade=True);

image

In Jupyter kann die Farbpalette cubehelix_palette interaktiv überprüft werden.

python


def show_pal2(start, rot):
    sns.palplot(sns.cubehelix_palette(24, start=start, rot=rot))
interact(show_pal2, start=FloatSlider(max=1), rot=FloatSlider(0.4, max=1));

image

Benutzerdefinierte sequentielle Paletten mit light_palette () und dark_palette ())

Sie können auch light_palette und dark_palette verwenden.

python


sns.palplot(sns.light_palette("blue", 24))
sns.palplot(sns.dark_palette("blue", 24))

image image

Verwenden wir es für die Konturlinie in der vorherigen Abbildung.

python


cmap = sns.dark_palette("palegreen", as_cmap=True)
sns.kdeplot(x, y, cmap=cmap);

image

In Jupyter können Sie es interaktiv überprüfen.

python


def show_pal3(light_or_dark, color, reverse):
    sns.palplot(eval('sns.%s_palette'%light_or_dark)(color=color, n_colors=24, reverse=reverse))
interact(show_pal3, light_or_dark=('light', 'dark'), color=('blue', 'navy', 'green', 'palegreen', 'red'), reverse=False);

image

Farbpaletten in zwei Farben unterteilt
(Abweichende Farbpaletten)

Eine Farbpalette mit verschiedenen Farben an beiden Enden und Weiß in der Mitte. Sie können es erstellen, indem Sie es mit color_palette angeben.

python


sns.palplot(sns.color_palette("BrBG", 24))
sns.palplot(sns.color_palette("RdBu_r", 24))
sns.palplot(sns.color_palette("coolwarm", 24))

image image image

In Jupyter ist es leicht zu sehen.

python


sns.choose_colorbrewer_palette('diverging');

image

Benutzerdefinierte Farbpaletten in zwei Farben unterteilt
(Benutzerdefinierte divergierende Paletten mit diverging_palette ())

Sie können es mit diverging_palette anpassen. Sie können auch die Mitte abdunkeln.

python


sns.palplot(sns.diverging_palette(220, 20, n=24))
sns.palplot(sns.diverging_palette(145, 280, s=85, l=25, n=24))
sns.palplot(sns.diverging_palette(255, 133, l=60, n=24, center="dark"))

image image image

In Jupyter können Sie es interaktiv überprüfen.

python


def show_pal4(h_neg, h_pos, s, l, center):
    sns.palplot(sns.diverging_palette(h_neg, h_pos, n=24, s=s, l=l, center=center))
interact(show_pal4, h_neg=FloatSlider(220, max=360), h_pos=FloatSlider(20, max=360), 
         s=FloatSlider(75, max=99), l=FloatSlider(50, max=99), center=('light', 'dark'));

image

Festlegen von Standardpaletten
(Ändern von Standardpaletten mit set_palette ())

Sie können die Standardfarbpalette mit set_palette festlegen. Zeichnet ohne Einstellungen.

python


def sinplot(flip=1):
    x = np.linspace(0, 14, 100)
    for i in range(1, 7):
        plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)

sinplot()

image

Setze und zeichne.

python


sns.set_palette("husl")
sinplot()

image

Sie können es lokal mit der with-Klausel ändern.

python


with sns.color_palette("PuBuGn_d"):
    sinplot()

image

das ist alles

Recommended Posts