Matplotlib方形箱线图
我有一个图,上面有两个箱线图在同一个图形里。为了好看,坐标轴的长度应该一样,这样图形的框才能是正方形。我试过用 set_aspect
方法,但因为坐标轴的范围差别太大,效果很糟糕。
即使它们的数据点数量不一样,能不能让坐标轴的比例保持1:1呢?
3 个回答
2
在做对数坐标图(loglog()
)的时候,别忘了使用
ax1.set_aspect(log10(xmax/xmin)/log10(ymax/ymin))
3
试试 axis('equal')
这个命令。虽然我已经有一段时间没用 matplotlib 了,但我记得我经常会输入这个命令。
5
你可以使用 Axes.set_aspect 这个功能来实现这个效果,只需要把比例设置为坐标轴的范围比。下面是一个例子:

from matplotlib.pyplot import figure, show
fig = figure()
ax0 = fig.add_subplot(1,2,1)
ax0.set_xlim(10., 10.5)
ax0.set_ylim(0, 100.)
ax0.set_aspect(.5/100)
ax1 = fig.add_subplot(1,2,2)
ax1.set_xlim(0., 1007)
ax1.set_ylim(0, 12.)
x0, x1 = ax1.get_xlim()
y0, y1 = ax1.get_ylim()
ax1.set_aspect((x1-x0)/(y1-y0))
show()
可能还有更简单的方法,但我不知道。