Matplotlib:无法在子图外的右侧 ytick 值上设置 0.0 和 1.0

Matplotlib : Impossible to set 0.0 and 1.0 on right ytick values outside a subplot

我正在尝试在子图的右 y 轴上显示 yticks 0.01.0(而不是 01

这是我所做的(使用 mn 图的 rows/columns):

 ax = g.subplots[m,n]
 ax.yaxis.tick_right()
 ax.yaxis.set_ticks_position('right')
 ax.set_yticks([float(0), float(1)])

结果是:

我以为会和上面的红色标题冲突,但即使我把字体改小了,问题依旧,无法显示0.01.0而不是01.

上图表示来自具有联合分布的协方差矩阵的 1/2 西格玛置信水平。它由 Getdist tool.

制作

生成此图的主要例程是:

g.triangle_plot([matrix1, matrix2],
                  names,
                  filled = True,
                  legend_labels = ['1240', '1560'],
                  legend_loc = 'upper right',
                  contour_colors = ['darkblue','red'],
                  line_args = [{'lw':2, 'color':'darkblue'},
                  {'lw':2, 'color':'red'}]
                  )

之后,我通过双循环修改每个框:

# Browse each subplot of triangle
  for m in range(0,7):
    for n in range(0,m+1):
      ax = g.subplots[m,n]
      ax.tick_params(axis='both', direction='out', length=5, width=1)

其中我做了我在 post 开头展示的内容:

 ax.yaxis.tick_right()
 ax.yaxis.set_ticks_position('right')
 ax.set_yticks([float(0), float(1)])

您可以使用 set_yticklabels(['0.0', '1.0'])