如何将带参数的函数传递给三元绘图函数?
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()
我使用 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()