用python画简单图形代码,python中用手绘制各种图形
这篇文章主要介绍了计算机编程语言中的图形绘制简单动画实操,Matplotlib是一个非常广泛的库,它也支持图形动画,动画工具以matplotlib.animation基类为中心,它提供了一个框架,围绕该框架构建动画,下面来看看具体的实现过程吧,需要的小伙伴可以参考一下
目录
前言:1、画螺旋曲线代码2、输出3、代码的部分解释
前言:
Matplotlib是一个非常广泛的库,它也支持图形动画。动画工具以matplotlib.animation基类为中心,它提供了一个框架,围绕该框架构建动画功能。主要接口有时间定义和FuncAnimation两者中FuncAnimation是最方便使用的。
1、画螺旋曲线代码
将matplotlib.pyplot作为血小板计数导入
将matplotlib.animation作为动画导入
将数组作为铭牌导入
#创建图形、轴和绘图元素
图=plt .图()
ax=plt.axes(xlim=(-50,50),ylim=(-50,50))
line,=ax.plot([],[],lw=2)
#初始化功能
定义初始化():
#创建空图/框架
line.set_data([],[])
回流线,
#存储x轴和y轴点的列表
xdata,ydata=[],[]
#动画功能
定义动画:
# t是一个参数
t=0.1*i
#要绘制的x,y值
x=t*np.sin(t)
y=t*np.cos(t)
#向x,y轴点列表追加新点
xdata.append(x)
ydata.append(y)
#设置/更新x和y轴数据
line.set_data(扩展数据,y数据)
#返回行对象
回流线,
#为情节设置标题
plt.title(一个不断增长的线圈!)
#隐藏轴细节
plt.axis("关")
#打电话给动画师
动画=动画FuncAnimation(fig,animate,init_func=init,
帧数=500,间隔=20,blit=True)
#将动画保存为mp4视频文件
anim.save(animated_coil.mp4 ,writer=ffmpeg ,fps=30)
#展示剧情
plt.show()
2、输出
此图为动画截图。
3、代码的部分解释
现在让我们来逐段分析代码:
图=plt .图()
ax=plt.axes(xlim=(-50,50),ylim=(-50,50))
line,=ax.plot([],[],lw=2)
1)首先创建一个图形,即所有子图的顶级容器。 2)然后创建一个轴元素削减作为子图。在创建轴元素时还定义了x和y轴的范围/限制。 3)最后,创建名为线,的情节元素。最初,x和y轴点已定义为空列表,线宽(lw)已设置为2。定义初始化():
line.set_data([],[])
回流线,
4)声明一个初始化函数初始化。动画师调用此函数来创建第一帧极好的动画:
# t是一个参数
t=0.1*i
#要绘制的x,y值
x=t*np.sin(t)
y=t*np.cos(t)
#向x,y轴点列表追加新点
xdata.append(x)
ydata.append(y)
#设置/更新x和y轴数据
line.set_data(扩展数据,y数据)
#返回行对象
回流线,
5)这是上述程序最重要的功能动画()函数被动画师一次又一次地调用来创建每一帧。调用此函数的次数由帧数决定,该帧数作为帧参数传递给动画师6)动画()函数以第我个帧的索引作为参数t=0.1*i
7)我们巧妙地使用了当前帧的索引作为参数!x=t*np.sin(t)
y=t*np.cos(t)
8)由于有了参数t,可以轻松地绘制任何参数方程。例如,使用参数方程绘制螺旋线line.set_data(扩展数据,y数据)
回流线,
9)使用set_data()函数设置x和y数据,然后返回绘图对象线,100 .动画=动画FuncAnimation(fig,animate,init_func=init,帧数=500,间隔=20,blit=True)
10)创建FuncAnimation对象动画.它需要下面解释的各种参数:
fig:图形将被绘制。animate:是一个为每一帧重复调用的函数。 init_func:该功能用于绘制清晰的框架。它在第一帧之前被调用一次。frames:帧数。帧之间的interval:持续时间。blit:设置blit=True意味着只画那些已经改变的部分。这就是关于Python中图形渲染的简单动画的实用文章。更多Python中相关图形渲染动画内容,请搜索热门IT软件开发工作室往期文章或继续浏览以下相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。