Шаг 117.
Язык Python. Визуализация данных. Библиотека Seaborn. ... . Визуализация оценок категориальных данных. Функция pointplot()

    На этом шаге мы рассмотрим назначение и примеры использования этой функции.

    Функция pointplot() отображает оценку какого-либо набора данных как точку на поле графика и доверительный интервал в виде линии, центр которой лежит на указанной точке.

    Демонстрацию будем проводить на наборе данных dots:

dots = sns.load_dataset("dots")

    Построим диаграмму pointplot, в качестве категориального признака выберем align, оценку будем считать по firing_rate:

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import pandas as pd

dots = sns.load_dataset("dots")

sns.pointplot(x='align', y='firing_rate', data=dots)

plt.show()
Архив с файлом можно взять здесь.


Рис.1. Диаграмма pointplot

    Как вы можете видеть из рисунка: среднее значение firing_rate для align=dots приблизительно равно 40.25, для align=sacc составляет 39.1. Получим точные значения этих величин:

print(dots[dots["align"]=='dots']['firing_rate'].mean())
40.231249481220054
print(dots[dots["align"]=='sacc']['firing_rate'].mean())
39.083297066051415

    Вертикальными линиями обозначен 95% доверительный интервал.

    Добавим ещё один уровень разделения - по признаку choice, выделим его с помощью параметра hue:

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import pandas as pd

dots = sns.load_dataset("dots")

sns.pointplot(x='align', y='firing_rate', hue='choice', data=dots)

plt.show()
Архив с файлом можно взять здесь.


Рис.2. Демонстрация разделения данных с помощью параметра hue функции pointplot()

    Изменим цветовую палитру:

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import pandas as pd

dots = sns.load_dataset("dots")

sns.pointplot(x='align', y='firing_rate', hue='choice',
              palette='GnBu', data=dots)

plt.show()
Архив с файлом можно взять здесь.


Рис.3. Демонстрация изменения цветовой палитры с помощью параметра palette функции pointplot()

    За алгоритм вычисления оценки отвечает параметр estimator, через который задаётся функция расчёта статистики, принимающая вектор и возвращающая скалярное значение. Построим диаграммы с различным способом определения оценки:

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
from numpy import mean, median, min, max

dots = sns.load_dataset("dots")

estimator = [mean, median, min, max]
plt.figure(figsize=(15, 5))
for i, es in enumerate(estimator):
    plt.subplot(1, len(estimator), i + 1)
    plt.title(es.__name__)
    sns.pointplot(x='align', y='firing_rate', estimator=es, data=dots)

plt.show()
Архив с файлом можно взять здесь.


Рис.4. Демонстрация работы с параметром estimator функции pointplot()

    На следующем шаге мы закончим изучение этого вопроса.




Предыдущий шаг Содержание Следующий шаг