HEA---code

发布时间:2023年12月22日
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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。