我想在单位圆上画一个单位向量。你知道吗
这是密码
vunit = 1/np.sqrt(2)
vec1 = [vunit,vunit]
thetas = np.arange(-np.pi, np.pi, .05)
coordinates = np.vstack((np.cos(thetas),np.sin(thetas)))
plt.figure(figsize = (6,6))
plt.xlim(-3,3)
plt.ylim(-3,3)
plt.scatter(coordinates[0,:],coordinates[1,:],s=.1)
plt.arrow(0, 0, vec1[0], vec1[1], head_width=0.15, color='r')
一切正常,只是箭头在圆圈外。你知道吗
所以,我修改了vec1
vec1 = [vunit-.1,vunit-.1]
图看起来更好,我可以修改vec1更精细,但修复似乎是丑陋的。有没有办法让箭头优雅地在圆圈内
使用^{} :
可以使用^{} 而不是
FancyArrow
(这是由plt.arrow
生成的对象)。这里的区别是微不足道的,但对于其他情况,因此一致性,
FancyArrowPatch
提供了许多FancyArrow
所没有的好特性。在缩放绘图时可以观察到一个主要的区别;FancyArrow
的头部是在数据坐标中定义的,因此在非等宽图中显示时看起来是倾斜的。你知道吗下面是带有
FancyArrowPatch
的完整代码,我们通过shrinkB
参数得到末端坐标处的头尖。你知道吗相关问题 更多 >
编程相关推荐