10

我一直在看 Matplotlib 库中的示例“scatter hist”

目前 x/y 子图分别位于顶部和右侧,即:

divider = make_axes_locatable(axScatter)
axHistx = divider.append_axes("top", 1.2, pad=0.1, sharex=axScatter)
axHisty = divider.append_axes("right", 1.2, pad=0.1, sharey=axScatter)

但是,如果我将子图位置更改为:

divider = make_axes_locatable(axScatter)
axHistx = divider.append_axes("bottom", 1.2, pad=0.1, sharex=axScatter)
axHisty = divider.append_axes("right", 1.2, pad=0.1, sharey=axScatter)

即将x子面板移动到底部,然后append_axes将y子图添加到x子图的右侧,而不是散点图的右侧。(我会上传图片,但我还没有足够高的声誉来发布图片...... grrr)!

如何告诉 append_axes 我想将 y 子图附加到包含散点图的“主轴”的右侧?我猜我需要在某处再次指定对象 axScatter (尽管我认为那divider = make_axes_locatable(axScatter)是为了什么?!)或者我猜分隔器已经在窗口面板中设置了一个网格,我需要告诉 append_axes 哪个单元格包含主轴。

谢谢,

亚历克斯

4

1 回答 1

2

axHisty您创建和axHistx出现的顺序很重要。如果你切换最后两个语句的顺序,那么你可以得到想要的效果:

divider = make_axes_locatable(axScatter)
axHisty = divider.append_axes("right", 1.2, pad=0.1,  sharey=axScatter)
axHistx = divider.append_axes("bottom", 1.2, pad=0.1, sharex=axScatter)

这肯定像虫子一样臭。

于 2012-07-06T19:54:02.137 回答