python绘制动态图 sinx

(1)绘制一个正弦曲线;

(2)绘制一个红色圆点,该圆点最初位于正弦曲线的左端;

(3)制作一个圆点沿曲线运动的动画,并时刻显示圆点的坐标位置。

import numpy as np  
import matplotlib.pyplot as plt  
import matplotlib.animation as animation  
  
# 绘制正弦曲线的函数  
def draw_sine_curve():  
    x = np.linspace(0, 2 * np.pi, 100)  # 生成x轴上的点,从0到2π  
    y = np.sin(x)  # 根据x生成y轴上的点(正弦函数)  
    fig, ax = plt.subplots(tight_layout=True)  # 创建一个新的图形和坐标轴  
    ax.plot(x, y)  # 绘制正弦曲线  
    return fig, ax, x, y  
  
# 更新圆点和文本的函数  
def update_points(num, point_ani, text_pt, x, y):  
    point_ani.set_data(x[num], y[num])  # 设置圆点的位置  
    text_pt.set_text(f"x={x[num]:.2f},y={y[num]:.2f}")  # 设置文本内容,显示x和y的坐标  
    return point_ani, text_pt  
  
# 绘制正弦曲线,圆点和文本  
fig, ax, x, y = draw_sine_curve()  
point_ani, = ax.plot(x[0], y[0], "ro")  # 绘制初始圆点  
text_pt = ax.text(0.05, 0.9, "", fontsize=16)  # 绘制初始文本,位置需要适当调整  
  
# 创建动画  
ani = animation.FuncAnimation(fig, update_points, frames=np.arange(0, 100),   
                               fargs=(point_ani, text_pt, x, y), interval=100, blit=True)  
  
# 显示图形和动画  
plt.show()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值