【问题标题】:add line between points in pyvista plotter在pyvista绘图仪中的点之间添加线
【发布时间】:2020-12-11 04:37:21
【问题描述】:

我在文件中有 3d 点。我读过它们:

def points_to_array(pathIn):
    pointArray = []
    point = []
    in_file = open(pathIn, 'r')
    for line in in_file.readlines():
        split_line = line.strip('\n').split(' ')
        for i in range(0, 3):
            point.append(float(split_line[i]))
        pointArray.append(point)
        point = []
    return pointArray

并以这种方式显示它们

import pyvista as pv
plotter = pv.Plotter(window_size=(1600, 1100))
points = points_to_array("C:\points.txt")
npPointArray = np.array(points)
plotter.add_points(npPointArray, color = 'r')

我想在一些点之间添加一条线(即文件中出现的点到点) 我可以这样做吗?怎么样?

【问题讨论】:

    标签: python numpy-ndarray pyvisa pythonplotter


    【解决方案1】:

    这是一个应该有所帮助的简单示例。这个例子所做的是创建一些由lines 数组定义的线,使用vtk 描述单元格的格式(基本上,每个单元格的点数,然后是单元格连通性)。在此示例中,我们将创建两条简单的线,但您可以创建更多,并在每条线上包含任意数量的点。

    import numpy as np
    import pyvista as pv
    
    
    points = np.array([[0, 0, 0],
                       [1, 0, 0],
                       [1, 1, 0],
                       [0, 1, 0]])
    
    lines = np.hstack(([2, 0, 1],
                       [2, 1, 2]))
    
    pdata = pv.PolyData(points)
    pdata.lines = lines
    
    pl = pv.Plotter()
    pl.add_mesh(pdata)
    pl.camera_position = 'xy'
    pl.add_point_labels(points, range(4), font_size=20)
    pl.show()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-30
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多