HEA---code
2023-12-22 12:29:17
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.animation import FuncAnimation
from matplotlib.offsetbox import OffsetImage, AnnotationBbox
# 创建一个画布和坐标轴对象
fig, ax = plt.subplots()
# 创建一个参数t,范围是0到2π
t = np.linspace(0, 2 * np.pi, 100)
# 根据心形函数创建x和y的坐标
x = 16 * np.sin(t) ** 3
y = 13 * np.cos(t) - 5 * np.cos(2 * t) - 2 * np.cos(3 * t) - np.cos(4 * t)
# 创建一个轨迹的列表,颜色设为红色
line, = plt.plot([], [], 'r', linewidth=3)
# 设置x和y轴的限制以适应心形
ax.set_xlim([-20, 20])
ax.set_ylim([-20, 20])
# 去除x和y轴的标签
ax.get_xaxis().set_visible(False)
ax.get_yaxis().set_visible(False)
# 载入图片.可以替换成自己想要的背景图
image_path = 'C:/Users/xxx/Desktop/copy_3.jpg'
image = plt.imread(image_path)
imagebox = OffsetImage(image, zoom=0.5)
ab = AnnotationBbox(imagebox, (0.5, 0.5), frameon=False, xycoords='axes fraction')
ax.add_artist(ab)
# 创建初始化函数,初始化轨迹线
def init():
line.set_data([], [])
return line,
# 创建更新函数,用于更新点的位置
def update(i):
line.set_data(x[:i], y[:i])
return line,
# 使用FuncAnimation函数创建动画
ani = FuncAnimation(fig, update, frames=range(len(x)), init_func=init, blit=True, interval=100)
plt.show()

文章来源:https://blog.csdn.net/weixin_51347879/article/details/135147205
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!