如何将带参数的函数传递给三元绘图函数?

How to pass a function with parameters into ternary plotting function?

我使用 python-ternary 包编写了以下代码,其中的文档您可以 see here.

import ternary
def myfun(p):

    return p[0]**2+p[1]**2+p[2]**2
def myfunParam(p,A,B,C):
    return p[0] ** A + p[1] ** B + p[2] ** C
def myfunParamBrute(p):
    A= 2; B=3; C=4
    return p[0] ** A + p[1] ** B + p[2] ** C

scale = 60
figure, tax = ternary.figure(scale=scale)
tax.heatmapf(myfunParamBrute, boundary=True, style="triangular")
tax.boundary(linewidth=2.0)
tax.set_title("My ternary function")

tax.show()

我想绘制一个函数 myfunParam,同时给它一些参数作为参数。

我不知道该怎么做。目前我使用原始函数 myfunParamBrute 来完成它,但如果我想制作大量绘图,这种方法不可扩展。

如何将参数传递给绘图函数?

只需将您的函数嵌套在另一个函数中:

import ternary


def my_function(A, B, C):
    def inner(p):
        return p[0] ** A + p[1] ** B + p[2] ** C
    return inner

scale = 60
figure, tax = ternary.figure(scale=scale)

tax.heatmapf(my_function(2, 3, 4), boundary=True, style="triangular")
tax.boundary(linewidth=2.0)
tax.set_title("My ternary function")

tax.show()