假设我想取以下三个坐标[x,y,z]:
[0.799319-3.477045e-01 0.490093]
[0.852512 9.113778e-16-0.522708]
[0.296422 9.376042e-01 0.181748]
并将其绘制为向量,向量从原点开始[0,0,0]。我该怎么做呢?我一直在尝试使用matplotlib的箭袋,但我一直得到以下值错误:
ValueError: need at least one array to concatenate
这是我的代码(文档矩阵投影是上面用矩阵表示的三个坐标):
D1, D2, D3 = zip(*document_matrix_projections)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.quiver(D1)
plt.show()
函数
quiver()
需要箭头的位置为X,Y,Z
和U,V,W
作为箭头的组件。因此,以下脚本可以绘制数据:但结果并不好。如果要使用Mayavi,则以下操作有效:
使用matplolib的quiver()的一个不错的替代方法是使用plotly进行绘图,plotly具有交互的优点。以下函数可以使用plotly中的Scatter3d()绘制矢量。在这里,向量有一个大点来标记方向,而不是箭头。
绘图可以简单地通过
上述输出如下:
相关问题 更多 >
编程相关推荐