Seaborn.despine () сводит на нет эффект перемещения оси Y в правую часть фигуры. - PullRequest
0 голосов
/ 05 июня 2018

Существует множество примеров создания графика с двумя или более осями Y, но перемещение особой оси Y в правую часть графика выглядит немного сложнее, чем кажется.

import numpy as np
from matplotlib import pyplot as plt
import seaborn as sns
%matplotlib inline

values = np.random.randint(1,20,100)

f = plt.figure()
ax = f.add_subplot(111)
# sns.despine(offset=10) <- problem here...

ax.yaxis.tick_right()
ax.yaxis.set_ticks_position('both')
sns.distplot(values)

Приведенный выше фрагмент создает график с галочками справа, однако, если вы хотите описать график (раскомментируйте указанную строку), он выглядит следующим образом:

enter image description here

Дополнительный вопрос: мотивация позади оси справа состоит в том, что я строю это вместе с другим графиком рядом, и я хотел бы, чтобы оси Y находились по обе стороны отСюжеты, а не между ними.

Есть идеи?

1 Ответ

0 голосов
/ 05 июня 2018

у seaborn despine есть аргументы , позволяющие выбрать, какой из позвоночника скрыть (по умолчанию все, кроме левого).

вверху, справа, слева, внизу: логическое, необязательно

Если True, удалите этот позвоночник.

import numpy as np
from matplotlib import pyplot as plt
import seaborn as sns
%matplotlib inline

values = np.random.randint(1,20,100)

f = plt.figure()
ax = f.add_subplot(111)
sns.despine(offset=10, left=True, right=False)  # <-- only show the right spine
ax.yaxis.tick_right()
ax.yaxis.set_ticks_position('right')  # <--- I also edited this line to have tick marks only on the right
sns.distplot(values)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...