def plot():
'''
'''
fig, ax = pl.subplots(1)
ax.axis('off')
fig.subplots_adjust(bottom = 0.2)
z = np.zeros((100, 100)) * np.nan
img = pl.imshow(z, cmap = cmap, vmin = 0, vmax = 180.,
extent = (-1, 1, -1, 1))
x = np.linspace(-0.99,0.99,1000)
ax.plot(x, np.sqrt(0.99 ** 2 - x ** 2), 'k-', lw = 2)
ax.plot(x, -np.sqrt(0.99 ** 2 - x ** 2), 'k-', lw = 2)
ax.set_xlim(-1.1,1.1)
ax.set_ylim(-1.1,1.1)
axslider = pl.axes([0.3, 0.05, 0.44, 0.03])
slider = Slider(axslider, r'$\theta$', -180., 180., valinit = 45.)
def update(val):
theta = slider.val
for i, x in enumerate(np.linspace(-1,1,100)):
for j, y in enumerate(np.linspace(-1,1,100)):
if (x ** 2 + y ** 2 <= 1):
z[j,i] = ZenithAngle(x, y, 1, theta * np.pi / 180) \
* 180 / np.pi
img.set_data(z)
fig.canvas.draw_idle()
slider.on_changed(update)
update(45.)
评论列表
文章目录