您好亲爱的Python社区开发者, 我想知道是否有办法让每个subplot2grid(matplotlib)都有不同的回调, 例如:对于第一个subplot2grid,我想执行一个与第二个subplot2grid不同的函数,该函数生成执行另一个函数。
我指定我在matplotlib中使用subplot2grid而不是subplot。 谢谢,
答案 0 :(得分:1)
如果你的目标是为每个子图使用widget.Button
,那么情况就很容易了。要创建一个按钮,您需要将它传递给Axes
实例,该按钮将占用该空间。因此,您需要创建与子图一样多的新轴,并适当地指定它们的坐标。然后创建按钮,它们可以有不同的回调函数。
例如:
from matplotlib.widgets import Button
def callback1(event):
print "you've clicked button 1"
def callback2(event):
print "you've clicked button 2"
fig = plt.figure()
ax1 = plt.subplot2grid((2,2),(0, 0))
ax2 = plt.subplot2grid((2,2),(1,1))
# create axes to receive the buttons
# adjust the coordinates to suit your needs
# coordinates are [left, bottom, width, height]
b1ax = plt.axes([0.5, 0.8, 0.2, 0.1])
b1 = Button(b1ax, 'Button 1')
b1.on_clicked(callback1)
b2ax = plt.axes([0.7, 0.5, 0.2, 0.1])
b2 = Button(b2ax, 'Button 2')
b2.on_clicked(callback2)
plt.show()
widget.Button
的文档:http://matplotlib.org/api/widgets_api.html#matplotlib.widgets.Button