Python 3.x 将标签贴在右侧脊柱的左侧

Python 3.x 将标签贴在右侧脊柱的左侧,python-3.x,matplotlib,Python 3.x,Matplotlib,举一个简短的例子: import matplotlib.pyplot as plt fig, ax = plt.subplots() ax.scatter([1,1.2,3], [5,4,3]) ax.set_xlim(0, 7) fig.patch.set_facecolor('white') ax.set_xticks([]) ax.spines['bottom'].set_visible(False) ax.spines['top'].set_visible(False) axx = ax

举一个简短的例子:

import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.scatter([1,1.2,3], [5,4,3])
ax.set_xlim(0, 7)
fig.patch.set_facecolor('white')
ax.set_xticks([])
ax.spines['bottom'].set_visible(False)
ax.spines['top'].set_visible(False)
axx = ax.twinx()
axx.tick_params(direction='in')
axx.spines['bottom'].set_visible(False)
axx.spines['top'].set_visible(False)

是否可以将双轴的标签放置在样条曲线的左侧? 滴答声是可能的,但似乎没有控制标签的选项

可以在
勾选参数
上使用
pad=-x
,但是正确的值取决于许多其他变量-或者是否有任何方法可以控制它,使其与使用的dpi、字体大小或标签长度一起工作

为了避免XY问题:我使用多个相邻子地块创建了一个平行坐标图。行中的最后一个子图必须提供两个轴,因为图的右侧是最后一个变量。在这个图中,所有轴的标签都在左侧,最后一个轴的标签在右侧看起来有点奇怪。 部分解决方案是添加一个空绘图作为最后一个,它只是提供轴。
但是,在该解决方案中,最后一个子图占用了图中的空间。这可以使用gridspec修复,但正确计算尺寸会变得更加复杂…

您可以将标签的对齐方式更改为右侧,并设置与正常情况相同的填充(但为负数)


这就像一个符咒!我还测试了不同的标签长度,它们都渲染正确!
axx.tick_params(direction='in', pad=-(plt.rcParams['ytick.major.size']+plt.rcParams['ytick.major.pad']))
plt.setp(axx.get_yticklabels(), ha='right')