有is a thread,问题是将自动标记的twinx
添加到Matplotlib的imshow
。结果是:
但是,我希望第二个y轴上的刻度为1。可手动设置和2.与其他刻度对齐。在Paint中绘制的输出示例:
- 此外,我想通过使用
imshow
参数aspect=4/8
来拉伸网格图块,使整个网格成为正方形。*
如果您设置纵横比并遵循this thread,则会像this thread中那样在图形周围产生额外的空白。他们都声称解决方案是使用set_adjustable('box-forced')
,但这似乎已经被删除了。当我尝试它时,Matplotlib说
ValueError: 'box-forced' is not a valid value for adjustable; supported values are 'box', 'datalim'
当我尝试box
时,我得到:
RuntimeError: Adjustable 'box' is not allowed in a twinned Axes; use 'datalim' instead
而使用datalim
时,不会删除白色。在2023年,你如何做到这一点?
1条答案
按热度按时间hmtdttj41#
首先,您会注意到第二个y轴没有与第一个对齐,并且刻度从边缘开始。因此,正如其中一个答案中所提到的,您可以通过再次创建ax2来对齐刻度。完成后,您需要将刻度和刻度标签设置为所需的数字。下面给出了要添加到代码中twinx()所在位置的附加行...