【发布时间】:2021-05-12 04:28:21
【问题描述】:
我是 Python 的新手,我的任务是编写一个脚本来创建 Delaunay 三角剖分图。我已经成功地做到了,但我需要根据地块有多少邻居来改变点的颜色。我有一个函数,它定义了邻居的数量,并将所有点放入字典中,并以邻居的数量为键。但是,我不知道如何将该字典应用到我的绘图中 - 是否有一个特定的功能可以让您使用 triplot 创建的绘图并根据外部字典更改颜色?到目前为止,这是我的代码:
from curved_analysis import read_xyz, read_nfo, num_neighbors
from scipy.spatial import Delaunay
import matplotlib.tri as mtri
import numpy as np
import matplotlib.pyplot as plt
coords = np.array(read_xyz("traj0.xyz"))
for k in range(coords.shape[0]):
points = coords[k]
tri = Delaunay(points[:, :2], qhull_options=('Qz'))
neigh = num_neighbors(tri)
for key in neigh:
if key <=5:
plt.triplot(neigh[key], color = 'green')
if key == 6:
plt.triplot(neigh[key], color = 'red')
if key >= 7:
plt.triplot(neigh[key], color = 'yellow')
plt.triplot(points[:,0], points[:,1], tri.simplices)
plt.plot(points[:,0], points[:,1], 'o')
plt.show()
感谢您的帮助!
【问题讨论】:
标签: python matplotlib delaunay