На этом шаге мы рассмотрим способы задания стиля маркеров.
За стиль маркеров в нашем примере будет отвечать признак количество цилиндров (cylinders):
import matplotlib.pyplot as plt import seaborn as sns mpg = sns.load_dataset("mpg") sns.scatterplot(x='mpg', y='displacement', hue='origin', style='cylinders', data=mpg) plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.) plt.show()
Рис.1. Использование параметра style
Дополнительно нам пришлось вынести легенду за поле графика, т.к. она стала занимать уже значительное пространство.
Для сравнения приведём пример использования параметра style для набора iris:
import matplotlib.pyplot as plt import seaborn as sns iris = sns.load_dataset("iris") sns.scatterplot(x='sepal_length', y='petal_length', style='species', data=iris) plt.show()
Рис.2. Демонстрация работы с параметром style для набора данных iris
Так как данные в этом наборе визуально разделимы, то даже без дополнительной сегментации по цвету видны различия между объектами.
Для дополнительной настройки стиля маркеров можно воспользоваться параметрами markers и style_order, назначение которых совпадает с одноимёнными для функции lineplot(). Воспользуемся ими для более детальной настройки изображения: изменим стиль маркеров и порядок представления признаков:
import matplotlib.pyplot as plt import seaborn as sns iris = sns.load_dataset("iris") mrks = {'virginica': 'o', 'setosa': 'D', 'versicolor': 'X'} order = ['virginica', 'setosa', 'versicolor'] sns.scatterplot(x='sepal_length', y='petal_length', style='species', data=iris, style_order=order, markers=mrks) plt.show()
Рис.3. Демонстрация работы с параметрами markers и style_order
На следующем шаге мы рассмотрим настройку размеров маркера.