Python Matplotlib:获取和设置轴位置
在matlab中,获取和设置图形上现有轴的位置非常简单:Python Matplotlib:获取和设置轴位置,python,matplotlib,axes,subplot,Python,Matplotlib,Axes,Subplot,在matlab中,获取和设置图形上现有轴的位置非常简单: pos = get(gca(), 'position') set(gca(), 'position', pos) 如何在Matplotlib中执行此操作 我之所以需要它,有两个相关的原因: 以下是我试图解决的具体问题: 我有一列子图,其中有些有色条,有些没有,它们的宽度不同,即X轴不对齐。颜色条从轴上窃取空间。这在matlab中也会发生,我会使用上面的技巧,通过将带有颜色条的轴的宽度复制到没有颜色条的轴,使所有轴的宽度相等 通
pos = get(gca(), 'position')
set(gca(), 'position', pos)
如何在Matplotlib中执行此操作
我之所以需要它,有两个相关的原因:
以下是我试图解决的具体问题:
- 我有一列子图,其中有些有色条,有些没有,它们的宽度不同,即X轴不对齐。颜色条从轴上窃取空间。这在matlab中也会发生,我会使用上面的技巧,通过将带有颜色条的轴的宽度复制到没有颜色条的轴,使所有轴的宽度相等
- 通过收缩轴在各个子地块之间添加空间。函数的作用是:调整所有的子地块
如果还没有,你可能还想看看 我试了又试,但如果我玩set_位置,我只会在窗口中移动图形。。如何在y=0或y=-1或其他位置绘制X轴?@DaniPaniz首先尝试使用
ax=plt.gca()
获取轴,然后使用ax.spines['left']设置轴。设置U位置(('data',0)),然后y轴位于X=0
。此外,您还可以将left
更改为bottom
,将x轴设置为y=0。
import matplotlib.pyplot as plt
ax = plt.subplot(111)
pos1 = ax.get_position() # get the original position
pos2 = [pos1.x0 + 0.3, pos1.y0 + 0.3, pos1.width / 2.0, pos1.height / 2.0]
ax.set_position(pos2) # set a new position