plt.tricontour может удовлетворить ваши потребности.
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.tri as tri
# first load some data: format x1,x2,x3,value
test_data = np.array([[0,0,1,0],
[0,1,0,0],
[1,0,0,0],
[0.25,0.25,0.5,1],
[0.25,0.5,0.25,1],
[0.5,0.25,0.25,1]])
# barycentric coords: (a,b,c)
a=test_data[:,0]
b=test_data[:,1]
c=test_data[:,2]
# values is stored in the last column
v = test_data[:,-1]
# translate the data to cartesian corrds
x = 0.5 * ( 2.*b+c ) / ( a+b+c )
y = 0.5*np.sqrt(3) * c / (a+b+c)
# create a triangulation out of these points
T = tri.Triangulation(x,y)
# plot the contour
plt.tricontour(x,y,T.triangles,v)
plt.show()
участок
![enter image description here](https://i.stack.imgur.com/sd2P3.png)