1.动画的实现—初探

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation fig, ax = plt.subplots()
xdata, ydata = [], []
ln, = ax.plot([], [], 'r-', animated=False) def init():
ax.set_xlim(0, 2*np.pi)
ax.set_ylim(-1, 1)
return ln, def update(frame):
xdata.append(frame)
ydata.append(np.sin(frame))
ln.set_data(xdata, ydata)
return ln, ani = FuncAnimation(fig, update, frames=np.linspace(0, 2*np.pi, 128),
init_func=init, blit=True)
plt.show()

2.结合pyqt

from PyQt5.QtWidgets import QPushButton,QWidget,QApplication,QGridLayout,QListWidget,QLineEdit

import pyqtgraph as pg
# pyqtgraph使用matplotlib
import pyqtgraph.widgets.MatplotlibWidget as mw
import sys
import numpy as np # 用于中文乱码
import matplotlib
""" 绘图防止乱码 """
# 指定默认字体 下面三条代码用来解决绘图中出现的乱码
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.family'] = 'sans-serif'
# 解决负号'-'显示为方块的问题
matplotlib.rcParams['axes.unicode_minus'] = False from matplotlib.animation import FuncAnimation class Example(QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI() def initUI(self):
self.setGeometry(50,50,800,620)
self.setWindowTitle("animation动画—结合pyqt") model_plt = mw.MatplotlibWidget()
# 隐藏matplotlib中的工具栏
model_plt.toolbar.setVisible(False)
self.fig = model_plt.getFigure()
# 设置一个1*1面板
self.ax = self.fig.add_subplot(111) self.xdata, self.ydata = [], []
self.ln, = self.ax.plot([], [], 'r-', animated=False) ani = FuncAnimation(self.fig, self.update, frames=np.linspace(0, 2 * np.pi, 128),
init_func=self.init, blit=True) self.gridLayout = QGridLayout(self)
## 将部件添加到布局中的适当位置
self.gridLayout.addWidget(model_plt, 0, 0) def init(self):
self.ax.set_xlim(0, 2 * np.pi)
self.ax.set_ylim(-1, 1)
return self.ln, def update(self, frame):
self.xdata.append(frame)
self.ydata.append(np.sin(frame))
self.ln.set_data(self.xdata, self.ydata)
return self.ln, if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())



最新文章

  1. apache多站点配置
  2. JMeter学习-020-JMeter 监听器之【聚合报告】错误率、吞吐量、传输速率实例计算
  3. Claims Identity
  4. Spring4.1.6 标签注解大全以及解释
  5. c# 支付宝查单补单
  6. Maven类包冲突终极解决方案
  7. codevs 1507酒厂选址
  8. 《javascript高级程序设计》第八章 The Browser Object Model
  9. win8.1上安装vc6
  10. CentOS PPTP配置LNMP+PPTP+FreeRADIUS+DaloRADIUS+流量控制
  11. mac下virtualbox配置全网通
  12. Spring框架中 配置c3p0连接池 完成对数据库的访问
  13. h2engine游戏服务器设计之聊天室示例
  14. MFC的PNG贴图按钮类(详细注释)
  15. php循环删除文件夹和目录
  16. ELF文件解析(一):Segment和Section
  17. Knockout.Js官网学习(enable绑定、disable绑定)
  18. Asp连接Oracle (包含绿色版12.2客户端和ODBC驱动安装)
  19. ARM LDR/STR, LDM/STM 指令
  20. weblogic安装错误BEA-090870解决方案

热门文章

  1. 二分-C - Pie
  2. rest_framework:解析器
  3. AcWing 891. Nim游戏
  4. Andre Weil的一生
  5. Go_初始化是否为nil
  6. 【Python】输出12个星座
  7. AspxDashBorad_OnDashboardLoaded 获取对应的DashboardParameter
  8. <context:component-scan>标签
  9. Python与C语言基础对比(Python快速入门)
  10. 第五十篇 入门机器学习——线性回归(Linear Regression)