Matplotlib正方形箱线图

4

我有一个包含两个箱线图的图表。出于样式原因,轴应该具有相同的长度,以便图形框是正方形的。我尝试使用set_aspect方法,但由于它们的范围不同,轴太不同了,结果很糟糕。

即使它们没有相同数量的点,是否可能拥有1:1轴?

3个回答

5
您可以使用Axes.set_aspect方法来实现,只需将纵横比设置为坐标轴极限的比例即可。以下是一个示例:alt text
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()

可能有更简单的方法,但我不知道。


3
尝试使用axis('equal')命令。虽然我已经有一段时间没有使用matplotlib了,但我记得经常要输入这个命令。

2

对于双对数图(loglog()),不要忘记使用

ax1.set_aspect(log10(xmax/xmin)/log10(ymax/ymin))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接