有很多关于创建具有两个或更多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)
上面的代码片段创建了一个带有右边刻度的图表,但是如果你想取消图表的取消(取消注释指示的行),它看起来像这样:
附带问题:右侧轴背后的动机是因为我将这个与另一个情节并排绘制在一起,我希望y轴位于子图的两侧,而不是它们之间。
有什么想法吗?
答案 0 :(得分:1)
seaborn's despine
has arguments让您选择隐藏哪个脊椎(默认情况下,除了左侧之外的所有内容)。
top,right,left,bottom:boolean,optional
如果为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)