python绘制扇形代码_如何在matplotlib中绘制扇区?

假设你有一个任意向量v,相对于某个原点v_origin,它的角度不确定性以度为单位:import pylab as plt

import numpy as np

#plt.style.use('ggplot') # because it's just better ;)

v_origin = [.2, .3]

v = [1., 1.]

angular_uncert = 20. # angular uncertainty of vector in degrees

v_angle = np.arctan2( v[1] ,v[0] ) # starting angle

# plot the arrow

fig = plt.figure(1)

ax = plt.gca()

ax.arrow(v_origin[0], v_origin[1] ,v[0], v[1],

head_width=0.05,

head_length=0.1,

lw=2,

fc='#777777',

ec='#777777',

length_includes_head=True)

# plot the sector line

uncert = (angular_uncert/2.) *np.pi / 180.

r = np.linalg.norm( v ) # length of vector

t = np.linspace( v_angle - uncert , v_angle+uncert , 100) # angular range of sector

x = r* np.cos(t) + v_origin[0] # sector x coords

y = r* np.sin(t) + v_origin[1] # sector y coords

ax.plot( x,y, lw=2, ls=' ') # plot the sector

ax.plot( v_origin[0], v_origin[1], 'o', ms=10, c='Limegreen' ) # plot the origin

# adjust the figure

ax.set_xlim(0, 1.6)

ax.set_ylim(0, 1.6)

ax.set_aspect('equal')

fig.show()

e6c2ba9036a1b48acd8e2b672296bf82.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值