【发布时间】:2019-07-30 08:37:57
【问题描述】:
我正在绘制一个图形,其中包含一个向量的路径以及该向量在给定时间的位置。我在 3D 中使用 quiver,但是当我尝试在参数中使用 scale 或 width 时,会出现错误。它绘制了向量,但它有一个太大的箭头。两道“边线”,就是做箭头的大。如何让它们变小一点?
ax = plt.axes(projection='3d')
ax.set_autoscalex_on(True)
ax.scatter3D(x, y, z, s=0.4 )
#x, y and z are arrays with coordinates of points
ax.quiver(0, 0, 0, x[10], y[10], z[10], color='red')
{}s'.format(step)
plt.show()
【问题讨论】:
-
什么是
nvec?你期待它是什么样子的?如果要绘制单个箭头,您是否考虑过annotation或arrow?您是否还可以在使用scale的位置添加代码。你试过scale_units吗?设置units?还是length? -
'nvec' 是 3D 矢量数组,我从中仅绘制一个(编号 20)。我希望箭头中的这两条边线更短...单位不起作用...我不知道为什么
-
请发布
nvec的示例数据,代表其实际形状和数据类型。如果它是一个 numpy 数组,为什么要将其索引为[10][1]?应该是[10, 1] -
“不起作用” 没有任何意义。您需要发布您为上述所有 4 个参数组合尝试的代码,
scale、scale_units、units和length。 -
另外请删除不相关的代码行,例如 cmets、
naslov=和ax.set_title以及所有ax.set_?label行
标签: python matplotlib