2016-05-26 1 views
2

Как я могу удержать seaborn.despine от размещения обеих моих у-весов в левой части моего участка? Лучшее, что я придумал до сих пор:Морской десин с двумя у-чешуйками (twinx)

import matplotlib.pyplot as plt 
import seaborn as sns 
import numpy as np 

sns.set_style("white") 

fig, ax = plt.subplots() 
ax.plot(np.random.rand(10)) 
ax2 =ax.twinx() 
ax2.plot(100*np.random.rand(10)) 
sns.despine(ax=ax, right=True, left=True) 
sns.despine(ax=ax2, left=True, right=False) 

Но любая другая комбинация либо не despine Y-оси или положить правую ось на левой.

Вывод выше: (желаемый результат не имеет шипов, просто цифры слева и справа)

enter image description here

+1

Не уверен, если я правильно понял, то причина, если я запускаю свой фрагмент кода я получаю один у шкалы на одной стороне и один у масштабе на другой стороне. Разве ты этого не хочешь? – giosans

+0

, может быть, вы можете добавить фигуру. – giosans

+0

Справедливая точка. Я не задавал стиль морского сундука в своем вопросе, что делает ненужным ненужное! –

ответ

4

Я предполагаю, что это то, что вы хотите после этого.

import matplotlib.pyplot as plt 
import seaborn as sns 
import numpy as np 

sns.set_style("white") 

fig, ax = plt.subplots() 
ax.plot(np.random.rand(10)) 
ax2 =ax.twinx() 
ax2.plot(100*np.random.rand(10)) 
sns.despine(ax=ax, right=True, left=True) 
sns.despine(ax=ax2, left=True, right=False) 
ax2.spines['right'].set_color('white') 

no spines, just numbers on left and right

+1

Если вы хотите показать линию осей с обеих сторон (это то, что я хотел сделать), вы делаете это так: '' ' sns.despine (ax = ax, right = True, left = False) sns.despine (ax = ax2, left = True, right = False) '' ' –

Смежные вопросы