Переместить легенду легендарного сюжета на другую позицию?

Я использую factorplot(kind="bar") с морским дном.

Сюжет прекрасен, за исключением того, что легенда неуместна: слишком много вправо, текст выходит из затененной области сюжета.

Как сделать морское место легендой где-то в другом месте, например, в верхнем левом, а не в среднем праве?

3 Solutions collect form web for “Переместить легенду легендарного сюжета на другую позицию?”

Основываясь на ответе @ user308827: вы можете использовать legend=False в factorplot и указать легенду через matplotlib:

 import seaborn as sns import matplotlib.pyplot as plt sns.set(style="whitegrid") titanic = sns.load_dataset("titanic") g = sns.factorplot("class", "survived", "sex", data=titanic, kind="bar", size=6, palette="muted", legend=False) g.despine(left=True) plt.legend(loc='upper left') g.set_ylabels("survival probability") 

Изменение примера из http://web.stanford.edu/~mwaskom/software/seaborn/examples/factorplot_bars.html

Вы можете использовать legend_out = False

 import seaborn as sns sns.set(style="whitegrid") titanic = sns.load_dataset("titanic") g = sns.factorplot("class", "survived", "sex", data=titanic, kind="bar", size=6, palette="muted", legend_out=False) g.despine(left=True) g.set_ylabels("survival probability") 

введите описание изображения здесь

Так я смог переместить легенду в конкретное место внутри сюжета и изменить аспект и размер сюжета:

 import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt matplotlib.style.use('ggplot') import seaborn as sns sns.set(style="ticks") figure_name = 'rater_violinplot.png' figure_output_path = output_path + figure_name viol_plot = sns.factorplot(x="Rater", y="Confidence", hue="Event Type", data=combo_df, palette="colorblind", kind='violin', size = 10, aspect = 1.5, legend=False) viol_plot.ax.legend(loc=2) viol_plot.fig.savefig(figure_output_path) 

Изменено расположение легенды

Это помогло мне изменить размер и аспект сюжета, а также переместить легенду за пределы области сюжета.

 import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt matplotlib.style.use('ggplot') import seaborn as sns sns.set(style="ticks") figure_name = 'rater_violinplot.png' figure_output_path = output_path + figure_name viol_plot = sns.factorplot(x="Rater", y="Confidence", hue="Event Type", data=combo_df, palette="colorblind", kind='violin', size = 10, aspect = 1.5, legend_out=True) viol_plot.fig.savefig(figure_output_path) 

скрипка с измененным размером, аспект и легенда, расположенные снаружи

Я понял это из ответа мваскома здесь и ответа Фернандо Эрнандеса здесь .

  • Ось метки на силовом стержне
  • Как избежать научной нотации при аннотации морской карты кластера?
  • Координаты ящиков в Seaborn boxplot
  • Использование distplot в Python
  • Boxplot: цвета по значению x и оттенки, дифференцированные по шаблону
  • Как получить результаты численного подбора при построении регрессии в морском дне?
  • Поворот тиковых меток для морского баржета
  • python seaborn для возврата обратно в matplotlib
  • Python - лучший язык программирования в мире.