Графические трюки для рассеивания плотных пятен
Рассмотрим, ключевые способы оптимизации графика при наслоении точек на примере датасета о пассажирах Титаника:
!wget https://s3.amazonaws.com/h2o-public-test-data/smalldata/gbm_test/titanic.csv
import pandas as pd import seaborn as sns sns.set(rc={'figure.figsize':(10,6)}) df = pd.read_csv("titanic.csv") df.head(2)
Отобразим график зависимости стоимости билета от возраста пассажира (в примерах буду использовать библиотеку Seaborn):
sns.scatterplot(data=df, y='fare', x='age')
Наша задачи - сделать визуально более наглядной часть в области перекрывающихся точек.
Размер точек
Для этого можно уменьшить размер точек с параметром s:
sns.scatterplot(data=df, y='fare', x='age', s=5)
Размер точек воспринимайте в неких условных единицах и настраивайте вручную, так как они могут меняться в зависимости от графического средства.
Прозрачность
Другим способом является задание прозрачности с параметром alpha:
sns.scatterplot(data=df, y='fare', x='age', alpha=0.1)
Маркер
Как вариант, попробуйте поменять маркер точки с аргументом marker (список тут):
sns.scatterplot(data=df, y='fare', x='age', marker=".")
Двумерная гистограмма
Скопления точек позволяет увидеть двумерная гистограмма, которая в Seaborn задается функцией jointplot:
sns.jointplot(data=df, y='fare', x='age', kind='hist', bins=(50,50))