Matplotlib:第一个轴对象位于哪里?



通常当我制作一个单独的绘图时,我只是调用fig,ax = plt.subplots(),而没有说明在图中放置轴对象的位置。但是,当我想放置一个图例,或者在下面的例子中,一个复选框时,那么相对坐标是相对于图形的。所以我的盒子经常到处都是。

在这种情况下,我想把盒子放在我已经在ax1中的图形旁边,但我不知道ax1的位置。

import matplotlib.pyplot as plt
from matplotlib.widgets import CheckButtons
x = range(0,10)
y = range(0,10)
fig, ax1 = plt.subplots()
ax1.plot(x,y, color = "blue")
ax1.set_title('This is my graph')
#create the check box [left/bottom/width/height]
ax2 = plt.axes([0.95, 0.975, 0.05, 0.025])
check_box = CheckButtons(ax2, ['On',], [False,])
plt.show()

matplotlib是否将第一个ax1对象放在一个恒定的位置,以便可以确定在哪里放置一个图例或一个相对于它的框?或者我们必须以不同的方式解决这个问题?

谢谢你的帮助!

我将同时创建两个轴,如下所示。注意:gridspec_kw={'width_ratios': [4, 1]}允许您指定第一个轴相对于第二个轴大多少。

import matplotlib.pyplot as plt
from matplotlib.widgets import CheckButtons
x = range(0,10)
y = range(0,10)
fig, (ax1, ax2) = plt.subplots(1, 2, gridspec_kw={'width_ratios': [4, 1]})
ax1.plot(x,y, color = "blue")
ax1.set_title('This is my graph')
#create the check box [left/bottom/width/height]
ax2.axis(False)
ax2.set_aspect("equal")
check_box = CheckButtons(ax2, ['On',], [False,])
plt.tight_layout()
plt.show()

相关内容

最新更新