#python #seaborn
#python #seaborn
Вопрос:
Я строю график скрипки, и я хотел наложить график boxen вместо графика по умолчанию. Я смог заставить его работать следующим образом, где y
это список значений, и x
это такой список, который x[i]
является категорией y[i]
:
violinplot(x=x, y=y, color='red', scale='width', bw=0.3, inner=None)
boxenplot(x=x, y=y, color=point_color, width=0.1)
Я очень доволен результатами, но было бы здорово, если бы я мог изменить контур графика boxen, чтобы он был того же цвета, что и контур графика скрипки, вместо белого. Однако я не могу понять, как изменить контур boxen plot, и, похоже, этого нет в документации. Помочь?
Ответ №1:
@Niema Moshiri, вы можете сделать это с помощью функции set_style с параметром ‘patch.edgecolor’: ‘red’.
Вот так
-
sns.set_style(style="white",rc= {'patch.edgecolor': 'yellow'})
-
sns.violinplot(data=data, color='red', scale='width', bw=0.3, inner=None)
sns.boxenplot(data=data, color="grey",width=0.
Надеюсь, это поможет.
Комментарии:
1. Это здорово, спасибо! Это работает, но меня беспокоит то, что это похоже на глобальное изменение. Было бы здорово, если бы был какой-то способ просто изменить контур этого конкретного вызова на
sns.boxenplot
. Вы случайно не знаете, как это сделать, например, с помощью некоторого параметраboxenplot
или некоторой итерации по возвращаемому значению или что-то в этом роде?2. @Niema Moshiri Я буду больше копаться в документации, не смог найти для нее параметр. Но вы можете отключить цвет края, когда он вам больше не нужен на графиках, установив параметр
rc ={patch.force_edgecolor=False }
, который отключит его для следующих графиков. Не лучшее решение, но пока работает. Надеюсь, это поможет.