How can I make a simple 3D line with Matplotlib?

前端 未结 2 695
孤城傲影
孤城傲影 2020-12-29 20:37

I want to generate the lines, which I get from an array in 3D.

Here is the code:

VecStart_x = [0,1,3,5]
VecStart_y = [2,2,5,5]
VecStart_z = [0,1,1,5]         


        
相关标签:
2条回答
  • 2020-12-29 21:06

    I guess, you want to plot 4 lines. Then you can try

    for i in range(4):
        ax.plot([VecStart_x[i], VecEnd_x[i]], [VecStart_y[i],VecEnd_y[i]],zs=[VecStart_z[i],VecEnd_z[i]])
    

    As @Nicolas have suggested, do have a look at the matplotlib gallery.

    0 讨论(0)
  • 2020-12-29 21:21

    The gallery is a great starting point to find out examples:

    http://matplotlib.org/gallery.html

    There is an example of 3d line plot here:

    http://matplotlib.org/examples/mplot3d/lines3d_demo.html

    You see that you need to pass to the ax.plot function 3 vectors. You are actually passing list of lists. I don't know what you mean by the Start and End sublist, but the following line should work :

    ax.plot(VecStart_x + VecEnd_x, VecStart_y + VecEnd_y, VecStart_z +VecEnd_z)
    

    Here I sum the sublist (concatenation) in order to have only one list by axis.

    0 讨论(0)
提交回复
热议问题