На этом шаге мы рассмотрим примеры использования этой функции.
Зададим цветовую схему через параметр palette:
import matplotlib.pyplot as plt import numpy as np import seaborn as sns import pandas as pd mpg = sns.load_dataset("mpg") mpg_mod = mpg[mpg["origin"] != "japan"] sns.boxplot(x="origin", y="mpg", hue="cylinders", palette='Pastel1', data=mpg_mod) plt.show()
Рис.1. Демонстрация работы с параметром palette
Порядок вывода значений основного признака определяется через параметр order, применение цвета - через hue_order. Ориентация диаграммы, также как у всех функций Seaborn, управляется с помощью orient:
import matplotlib.pyplot as plt import numpy as np import seaborn as sns import pandas as pd mpg = sns.load_dataset("mpg") mpg_mod = mpg[mpg["origin"] != "japan"] sns.boxplot(x="origin", y="mpg", orient='h', data=mpg_mod) plt.show()
Рис.2. Демонстрация работы с параметром orient
Ширина (или высота, если orient='h') "ящика с усами" задаётся через параметр width. При значении равном 1 ящики занимают все предоставленное пространство, например, если признак принимает только два значения, то все поле графика будет поделено между двумя ящиками, увеличение или уменьшение width изменяет размер ящика:
import matplotlib.pyplot as plt import numpy as np import seaborn as sns import pandas as pd mpg = sns.load_dataset("mpg") mpg_mod = mpg[mpg["origin"] != "japan"] plt.figure(figsize=(15, 5)) w_list = [1.25, 1, 0.75, 0.5] for i, w in enumerate(w_list): plt.subplot(1, len(w_list), i + 1) sns.boxplot(x="origin", y="mpg", width=w, data=mpg_mod) plt.show()
Рис.3. Демонстрация работы с параметром width
За размер маркеров, обозначающих выбросы, отвечает параметр fliersize:
import matplotlib.pyplot as plt import numpy as np import seaborn as sns import pandas as pd mpg = sns.load_dataset("mpg") mpg_mod = mpg[mpg["origin"] != "japan"] plt.figure(figsize=(10, 5)) plt.subplot(121) sns.boxplot(x="origin", y="mpg", data=mpg_mod) plt.subplot(122) sns.boxplot(x="origin", y="mpg", fliersize=10, data=mpg_mod) plt.show()
Рис.4. Демонстрация работы с параметром fliersize
Как было сказано в начале предыдущего шага, вертикальный размер ящика (его высота) равен интервалу между 1-м и 3-м квартилем, полтора таких интервала определяют длину усов, все значения из набора данных, которые больше этого интервала обозначаются как выбросы. За величину межквартильного размаха отвечает параметр whis, проверим, что по умолчанию, это значение равно 1.5:
import matplotlib.pyplot as plt import numpy as np import seaborn as sns import pandas as pd mpg = sns.load_dataset("mpg") mpg_mod = mpg[mpg["origin"] != "japan"] plt.figure(figsize=(10, 5)) plt.subplot(121) sns.boxplot(x="origin", y="mpg", data=mpg_mod) plt.subplot(122) sns.boxplot(x="origin", y="mpg", whis=1.5, data=mpg_mod) plt.show()
Рис.5. Демонстрация работы с параметром whis=1.5
Теперь изменим эти величину, построим диаграмму, в которой размах равен двум:
import matplotlib.pyplot as plt import numpy as np import seaborn as sns import pandas as pd mpg = sns.load_dataset("mpg") mpg_mod = mpg[mpg["origin"] != "japan"] plt.figure(figsize=(10, 5)) plt.subplot(121) sns.boxplot(x="origin", y="mpg", data=mpg_mod) plt.subplot(122) sns.boxplot(x="origin", y="mpg", whis=2, data=mpg_mod) plt.show()
Рис.6. Демонстрация работы с параметром whis=2
На следующем шаге мы рассмотрим функцию violin().