我在matplotlib中使用矩形选择器,并试图传递其他参数。下面是我尝试的一个基本代码示例:
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.widgets import RectangleSelector
word = "watermelon"
x = np.arange(0,100,1)
y = x**3
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x,y,'r--')
def line_select_callback(eclick, erelease, additional_argument):
x1, y1 = eclick.xdata, eclick.ydata
x2, y2 = erelease.xdata, erelease.ydata
print(x1, y1)
print(additional_argument)
rs = RectangleSelector(ax, lambda event, word: line_select_callback,
drawtype='box', useblit=False, button=[1],
minspanx=5, minspany=5, spancoords='pixels',
interactive=True)
plt.show()
如果从方法中删除附加的参数并将lambda event, word: line_select_callback
改为line_selec_callback
,那么代码运行得非常好。但是对于一个更大的项目的需求,传递额外参数的能力是必需的。在
我尝试过使用lambda函数和functools.partial但在这种情况下,我两个都没法工作。我还在学习python,如果这个问题是一个基本问题,我很抱歉。谢谢你的帮助。在
目前没有回答
相关问题 更多 >
编程相关推荐