python-3.x - 在 VTK 中创建图形
问题描述
我想使用 VTK 类https://lorensen.github.io/VTKExamples/site/Python/Graphs/ConstructGraph/创建一个图形
def main():
g = vtk.vtkMutableUndirectedGraph()
v1 = g.AddVertex()
v2 = g.AddVertex()
g.AddEdge ( v1, v2 )
print ('Number of vertices:', g.GetNumberOfVertices())
print ("Number of edges:", g.GetNumberOfEdges())
g.AddEdge ( v1, v2 )
print ('Number of vertices:', g.GetNumberOfVertices())
print ('Number of edges:', g.GetNumberOfEdges())
graphLayoutView = vtk.vtkGraphLayoutView()
graphLayoutView.AddRepresentationFromInput(g)
graphLayoutView.ResetCamera()
graphLayoutView.Render()
graphLayoutView.GetInteractor().Start()
是定义的函数。但我不太确定如何使用它。
例如,在 networkx 我会做
t = [0, 2, 4, 5, 6, 8, 9, 11, 13, 1, 10, 1, 3, 7]
h= [1, 3, 3, 1, 7, 7, 10, 12, 12, 14, 14, 12, 14, 10]
ed_ls = [(x, y) for x, y in zip(tail, head)]
G = nx.OrderedGraph()
G.add_edges_from(ed_ls)
nx.draw(G)
关于如何在 VTK 中创建相同图表的建议会有所帮助
解决方案
您已经找到了正确的 API。只需要使用它。就像是
g = vtk.vtkMutableUndirectedGraph()
# add your 15 vertices
for i in range(15):
g.AddVertex()
t = [0, 2, 4, 5, 6, 8, 9, 11, 13, 1, 10, 1, 3, 7]
h= [1, 3, 3, 1, 7, 7, 10, 12, 12, 14, 14, 12, 14, 10]
for start, end in zip(t,h):
g.AddEdge( start, end )
推荐阅读
- java - 通知不会出现在 Android 11 (sdk 30)
- java - 为什么你会使用 List 而不是 ArrayList?
- .net - 在同一端点中传递数据 FromBody 和 FromForm
- node.js - 运行`gulp`命令时出现`错误[ERR_REQUIRE_ESM]`
- c# - 通过服务引用发出 http 请求时,客户端身份验证方案“匿名”禁止 HTTP 请求
- mqtt - MQTT 5.0 消息传递重试和原因码
- node.js - 在nodejs中以html显示api响应
- c#-4.0 - 是否有从文本框转换为二进制的功能?
- c# - 性能:迭代 linq VS 迭代数据表
- excel - 输入一个进行比较后如何生成一个随机数?