我试图画一个定义在单纯形上的函数。显然,你可以do it very nicely using the Matlab API。在
但是我不知道如何使用pythonapi来实现这一点。引用有一个名为Ternary Contour Plots in Python的部分,但它不绘制一个数值函数,而是一个将单纯形映射到给定离散集的函数。在
我试图模拟Matlab代码:
import plotly as py
A = [0, .2, .2, .2, 0, .6, .75, .9, 0, 1, .8, .3]
B = [1, .2, .4, .1, 0, .4, .05, 0, .8, 0, .05, .3]
C = [0, .6, .4, .7, 1, 0, .2, .1, .2, 0, .15, .4]
Z = [.1, .5, .1, .2, 1, .8, .4, 0, .1, .6, 1, .7]
trace = {
"type": 'scatterternary',
"carpet": 'scattercontour',
"a": A,
"b": B,
"c": C,
"z": Z
}
layout = {
'title': 'Simple Ternary Contour Plot with Python'
}
figure = dict(data=[trace], layout=layout)
py.offline.plot(figure, validate=False)
但我得到的却是这样的情节:
如果有人还感兴趣,here是一个Jupyter笔记本,看看如何生成一个绘图三元等高线图。在
如果可以生成要绘制任意比例轮廓的数据,则有一种解决方法。在这种情况下,您可以在网格上生成(x,y)数据,将它们映射到重心坐标,并计算z值。然后您可以使用非三元图,如轮廓或曲面。在
下面是一个绘制Dirichlet分布密度函数的示例:
不过,这仍然是一个解决办法,所以如果你有更好的想法,我将非常高兴听到你的消息。在
相关问题 更多 >
编程相关推荐