Визуализация данных Seaborn Learning Tutorial с нуля (1) Выбор стиля

искусственный интеллект Python анализ данных WeChat

Добавить Автора

Публичный аккаунт WeChat:PythonНаука о данных

Знаю почти:аналитик данных Python


В последнее время я занимаюсь анализом данных нескольких проектов, и каждый раз используюseabornПри визуальном рисовании всегда забываешь конкретную операцию. Несмотря на то чтоseabornНа официальном сайте подробно описан способ использования, но он ведь на английском языке, и найти его не очень удобно. Поэтому блогеры хотят начать с нуляseabornИзучите его еще раз, сделайте резюме и надейтесь, что его можно будет использовать для справки.

Введение в Сиборн

seabornтакой жеmatplotlibЭто также важный сторонний пакет для анализа визуализации данных в Python. ноseabornвmatplotlibНа основе более продвинутой инкапсуляции API рисунок стал проще, а графика стала красивее.

Блогеры не думаютseabornможно заменитьmatplotlib. Несмотря на то чтоseabornВ большинстве случаев он может удовлетворить потребности в анализе данных, но в некоторых особых случаях все же необходимо использоватьmatplotlibиз. другими словами,matplotlibболее гибким и настраиваемым, в то время какseabornКак и более продвинутый пакет, он прост и быстр в использовании.

должен поставитьseabornрассматривается какmatplotlibдобавки, а не заменители.

Учебный контент Seaborn

seabornСодержание обучения в основном включает следующие части:

  1. управление стилем
    • Настройки стиля рисования
    • Настройки цветового стиля
  2. метод рисования
    • Визуализация распределения наборов данных
    • Визуализация категориальных данных
    • Визуализация линейных отношений
  3. Структурная сетка
    • Рисунок сетки распознавания данных

На этот раз я в основном расскажу об использовании управления стилями.

Управление стилями — настройки стиля чертежа

В дополнение к различным методам рисования эстетика графики может быть тем, о чем мы заботимся больше всего. Поместите его в первую часть, потому что настройки стиля — это общие операции, применимые ко всем видам методов рисования.

Сначала рассмотрим пример.

%matplotlib inline
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
np.random.seed(sum(map(ord, "aesthetics")))

Мы определяем простое уравнение для рисования некоторых смещенных синусоидальных волн, чтобы помочь нам увидеть, как выглядят разные стили рисования.

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)

matplotlibРезультат рисования с параметрами по умолчанию выглядит следующим образом:

sinplot()

преобразовать вseabornРисунок по умолчанию, вы можете просто использоватьset()метод.

sns.set()
sinplot()

SeabornбудетmatplotlibПараметры разделены на две независимые комбинации. Первая группа предназначена для установки стиля внешнего вида рисунка, а вторая группа в основном масштабирует различные элементы рисунка, чтобы его можно было встроить в различные фоновые среды.

Существует две основные пары методов для управления этими параметрами:

  • Стиль управления:axes_style(), set_style()
  • Масштабируйте сюжет:plotting_context(), set_context()

Первый метод в каждой паре методов (axes_style(), plotting_context()) возвращает набор аргументов словаря, а второй метод (set_style(), set_context()) установит параметры по умолчанию для matplotlib.

Пять стилей рисования Seaborn

Есть пятьseabornстили, это:darkgrid, whitegrid, dark, white, ticks. Каждый из них подходит для различных приложений и личных предпочтений. Тема по умолчаниюdarkgrid.

sns.set_style("whitegrid")
data = np.random.normal(size=(20, 6)) + np.arange(6) / 2
sns.boxplot(data=data);

sns.set_style("dark")
sinplot()

sns.set_style("white")
sinplot()

sns.set_style("ticks")
sinplot()

удалить оси позвоночника

whiteиticksОба стиля позволяют удалить ненужные осевые шипы сверху и справа. пройти черезmatplotlibПараметры не могут этого сделать, но вы можете использоватьseabornизdespine()метод их удаления:

sinplot()
sns.despine()

Некоторые графики также могут смещать ось оси относительно данных, конечно, вызываяdespine()метод для завершения. И когда галочки не полностью покрывают диапазон всей оси,trimПараметры могут использоваться для ограничения протяженности существующих шипов.

f, ax = plt.subplots()
sns.violinplot(data=data)
sns.despine(offset=10, trim=True);

Вы также можете пройтиdespine()Определяет, какой корешок будет удален.

sns.set_style("whitegrid")
sns.boxplot(data=data, palette="deep")
sns.despine(left=True)

Временно задайте стиль рисования

Хотя легко переключать стили вперед и назад, вы также можетеwithиспользуется в заявленииaxes_style()способ временной установки параметров рисования. Это также позволяет вам строить графики с различными стилями осей:

with sns.axes_style("darkgrid"):
    plt.subplot(211)
    sinplot()
plt.subplot(212)
sinplot(-1)

Переопределить элементы морского стиля

если вы хотите настроитьseabornstyle, вы можете передать параметр словаря вaxes_style()иset_style()параметрыrc. И вы можете переопределить только некоторые параметры в определении стиля с помощью этого метода.

Если вы хотите увидеть, что это за параметры, вы можете вызвать этот метод без параметров, который вернет следующие настройки:

sns.axes_style()
{'axes.axisbelow': True,
 'axes.edgecolor': '.8',
 'axes.facecolor': 'white',
 'axes.grid': True,
 'axes.labelcolor': '.15',
 'axes.linewidth': 1.0,
 'figure.facecolor': 'white',
 'font.family': [u'sans-serif'],
 'font.sans-serif': [u'Arial',
  u'DejaVu Sans',
  u'Liberation Sans',
  u'Bitstream Vera Sans',
  u'sans-serif'],
 'grid.color': '.8',
 'grid.linestyle': u'-',
 'image.cmap': u'rocket',
 'legend.frameon': False,
 'legend.numpoints': 1,
 'legend.scatterpoints': 1,
 'lines.solid_capstyle': u'round',
 'text.color': '.15',
 'xtick.color': '.15',
 'xtick.direction': u'out',
 'xtick.major.size': 0.0,
 'xtick.minor.size': 0.0,
 'ytick.color': '.15',
 'ytick.direction': u'out',
 'ytick.major.size': 0.0,
 'ytick.minor.size': 0.0}

Затем вы можете установить разные версии этих параметров.

sns.set_style("darkgrid", {"axes.facecolor": ".9"})
sinplot()

Масштаб элемента чертежа

Существует набор параметров, управляющих масштабом элементов чертежа. Во-первых, давайте пройдемset()Сбросить параметры по умолчанию:

sns.set()

Существует четыре предустановленных окружения, расположенных в порядке возрастания размера:paper, notebook, talk, poster. в,notebookпо умолчанию.

sns.set_context("paper")
sinplot()

sns.set_context("talk")
sinplot()

sns.set_context("poster")
sinplot()

Вы можете позвонить, используя одно из этих именset_context()для установки параметров, и вы можете переопределить параметры, предоставив словарь значений параметров. Также можно самостоятельно масштабировать размер элементов шрифта при смене окружения.

sns.set_context("notebook", font_scale=1.5, rc={"lines.linewidth": 2.5})
sinplot()

Так же можно встроитьwithОператор временно управляет масштабом чертежа.

Суммировать

Введение в 5 стилей рисования Seaborn

  • удалить оси позвоночника
  • Временно задайте стиль рисования
  • Переопределить элементы стиля Seaborn
  • Масштабирование элементов чертежа

В следующем разделе будет рассмотрено использование цветовых стилей.


Обратите внимание на публичный аккаунт WeChatPythonНаука о данных,Получать120GУчебные материалы по искусственному интеллекту.