Seaborn информации перекрывают ось - PullRequest
0 голосов
/ 02 апреля 2020

Я столкнулся с проблемой, когда оси перекрываются, как поместить изображение в прямоугольную рамку?

The methods are overlapping the axis

Вот код:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

stocks_df = pd.read_csv('stocks.csv')
sns.set(font_scale = 1.5)
sns.set_style("white")
sns.catplot(x='Attack Scenarios', y='Ratio (%)',
                 hue="Methods",
                data=stocks_df, kind="box",
            height=6, aspect=1.3);
#plt.savefig("grouped_boxplot_Seaborn_Catplot_Python.png")
plt.show()

1 Ответ

1 голос
/ 04 апреля 2020

По умолчанию sns.catplot() удаляет шипы сверху и справа. Если это нежелательно, вы можете использовать более простой sns.boxplot(), так как, похоже, вы все равно не используете FacetGrid. Должно получиться что-то в строке:

tips = sns.load_dataset('tips')
ax = sns.boxplot(x="day", y="total_bill", hue="time", data=tips)

enter image description here

Вы можете настроить положение легенды, используя ax.legend(loc=). Если вам нужно, вы можете выделить место внутри осей для легенды, отрегулировав пределы оси X

tips = sns.load_dataset('tips')
ax = sns.boxplot(x="day", y="total_bill", hue="time", data=tips)
ax.legend(loc='right')
ax.set_xlim(right=5)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...