我正在尝试在函数内部实现十六进制图,并且有一个相当复杂的reduce_C_function
,将需要接收参数a
。一个(虽然很简单)的例子:
def sum_i(z,a):
return a*np.sum(z)
def some_function(X,Y,Z,a):
hexb = plt.hexbin(X,Y,C=Z,reduce_C_function=sum_i)
现在,matplotlib文档(https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.hexbin.html)对于
reduce_C_function
的使用并不十分有用,那么我如何设法通过a
? 最佳答案
您可以从partial
中创建一个sum_i
函数,并将其作为单个参数的函数传递给plt.hexbin
:
from functools import partial
def sum_i(z,a):
return a*np.sum(z)
def some_function(X,Y,Z,a):
reduce_function = partial(sum_i, a=a)
hexb = plt.hexbin(X,Y,C=Z,reduce_C_function=reduce_function)
从source code的外观来看,没有其他方法可以为
reduce_C_function
传递附加参数。关于python - 将参数传递给matplotlib hexbin图中的reduce_C_function,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51300736/