python绘制动态曲线教程

从txt种获取数据 并且通过动态曲线显示

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import time
# Fixing random state for reproducibility
np.random.seed(196)
path = "feed.txt"
file = open(path, 'r')
data = []
for line in file.readlines():
 lineArr = line.strip().split()
 data.append(int(lineArr[0]))
xdata = np.arange(0,len(data))
#初始数据绘图
dis = np.zeros(40)
dis2 = dis
fig, ax = plt.subplots()
line, = ax.plot(dis)
ax.set_ylim(0, 100)
plt.grid(True)
ax.set_ylabel("distance: m")
ax.set_xlabel("time") 

def update(frame):
 global dis
 global dis2
 global line
 #读入模拟
 a = frame
 time.sleep(np.random.rand()/10)
 #绘图数据生成
 dis[0:-1] = dis2[1:]
 dis[-1] = a
 dis2 = dis
 #绘图
 line.set_ydata(dis)
 #颜色设置
 plt.setp(line, 'color', 'b', 'linewidth', 2.0)
 return line
ani = animation.FuncAnimation(fig, update,frames=data, interval=10)
plt.show()

输出:

补充拓展:Python绘制mes曲线实例

mes曲线:累计误差曲线。一般用于测试生成的关键点与标定的关键点间的差异情况,差异一般是指两点间的欧氏距离。

标记点坐标 p_g(x,y)

预测点坐标 p_t(x,y)

dist(p_g,p_t)可以计算两点间的欧氏距离。

def dist(point1,point2):
 return ((point1[0] - point2[0]) ** 2 + (point1[1] - point2[1]) ** 2) ** 0.5

在人脸的关键点检测中,dist()计算的距离/双眼间距离 进行归一化。将归一化后的值append到MSE,调用drawCDFSingle(MSE)即可看到累计误差曲线。

def drawCDFSingle(MSE):
 plotDataset = [[], []]
 plt.grid()
 plt.xlabel("pixel error")
 plt.ylabel("Fraction of number of landmarks")
 plt.title('CDF')
 for i in range(len(MSE[0])):
  sumnum = 0
  mse_point = [x[i] for x in MSE]
  mse_point.sort()
  plotDataset[0]=[]
  plotDataset[1]=[]
  for t in range(len(mse_point)):
   plotDataset[0].append(float(t+1)/len(mse_point))
   # sumnum=sumnum+float(mse_point[t])
   plotDataset[1].append(float(mse_point[t]))
  plt.plot(plotDataset[1],plotDataset[0] , color[i%len(color)]+linestyle[i%len(linestyle)], linewidth=2, label=i)
 plt.legend() # make legend
 plt.show()

以上这篇python绘制动态曲线教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python绘制无向图度分布曲线示例

    如下所示: #Copyright (c)2017, 东北大学软件学院学生 # All rightsreserved #文件名称:a.py # 作 者:孔云 #问题描述:统计图中的每个节点的度,并生成度序列 #问题分析:利用networkx.代码如下: import matplotlib.pyplot as plt #导入科学绘图包 import networkx as nx G=nx.random_graphs.barabasi_albert_graph(1000,3)#生成n=1000,m=3

  • 利用matplotlib实现根据实时数据动态更新图形

    我就废话不多说了,直接上代码吧! from time import sleep from threading importThread import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets importButton fig, ax = plt.subplots() #设置图形显示位置 plt.subplots_adjust(bottom=0.2) #实验数据 range_start, range_en

  • 利用python画出折线图

    本文实例为大家分享了python画折线图的具体代码,供大家参考,具体内容如下 # encoding=utf-8 import matplotlib.pyplot as plt from pylab import * #支持中文 mpl.rcParams['font.sans-serif'] = ['SimHei'] names = ['5', '10', '15', '20', '25'] x = range(len(names)) y = [0.855, 0.84, 0.835, 0.815,

  • python绘制动态曲线教程

    从txt种获取数据 并且通过动态曲线显示 import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation import time # Fixing random state for reproducibility np.random.seed(196) path = "feed.txt" file = open(path, 'r') data = [] for lin

  • Python+pyecharts绘制双动态曲线教程详解

    总体跟官方样例相似,但是官方样例因为部分代码有误无法运行,同时需要了解json,以及前后端知识需要一些时间,因此供大家参考. 这个是views def line_base() -> Line: line = ( Line() .add_xaxis(list(range(10))) .add_yaxis(series_name="专注度", y_axis=[randrange(0, 100) for _ in range(10)],areastyle_opts=opts.AreaS

  • UGUI绘制动态曲线

    本文实例为大家分享了UGUI绘制动态曲线的具体代码,供大家参考,具体内容如下 前言 等有空再补详细说明,先上代码.看官自行阅读 代码 UICurveData 类,用于存放点数据的基础结构. public class UICurveData { #region [Fields] public List<Vector2> Postion = new List<Vector2>(); public Color Ccolor; public float Thickness = 1; #en

  • python绘制封闭多边形教程

    数据格式:(polygon.txt) 里面含有2个多边形,一行是一个点 0.085, 0.834, 0.024, 0.744, 0, 0.63, 0.024, 0.516, 0.085, 0.427, 0.5, 0.02, 0.675, 0.191, 0.795, 0.071, 0.815, 0.052, 0.835, 0.032, 0.84, 0.026, 0.844, 0.022, 0.856, 0.012, 0.871, 0.005, 0.886, 0.001, 0.903, 0, 0.8

  • 利用python绘制正态分布曲线

    使用Python绘制正态分布曲线,借助matplotlib绘图工具: #-*-coding:utf-8-*- """ python绘制标准正态分布曲线 """ # ============================================================== import numpy as np import math import matplotlib.pyplot as plt def gd(x, mu=0, s

  • 如何利用 Python 绘制动态可视化图表

    目录 一.安装相关的模块 二.gif和matplotlib的结合 三.gif和plotly的结合 四.matplotlib多子图动态可视化 五.动态气泡图 一.安装相关的模块 首先第一步的话我们需要安装相关的模块,通过pip命令来安装 pip install gif 另外由于gif模块之后会被当做是装饰器放在绘制可视化图表的函数上,主要我们依赖的还是Python当中绘制可视化图表的matplotlib.plotly.以及altair这些模块,因此我们还需要下面这几个库 pip install "

  • Python绘制散点图的教程详解

    少废话,直接上代码 import matplotlib.pyplot as plt import numpy as np # 1. 首先是导入包,创建数据 n = 10 x = np.random.rand(n) * 2# 随机产生10个0~2之间的x坐标 y = np.random.rand(n) * 2# 随机产生10个0~2之间的y坐标 # 2.创建一张figure fig = plt.figure(1) # 3. 设置颜色 color 值[可选参数,即可填可不填],方式有几种 # col

  • 一文教会你用Python绘制动态可视化图表

    目录 前言 安装模块 可视化动态图 太阳图 指针图 桑基图 平行坐标图 总结 前言 对数据科学家来说,讲故事是一个至关重要的技能.为了表达我们的思想并且说服别人,我们需要有效的沟通.而漂漂亮亮的可视化是完成这一任务的绝佳工具. 本文将介绍5种非传统的可视化技术,可让你的数据故事更漂亮和更有效.这里将使用Python的Plotly图形库,让你可以毫不费力地生成动画图表和交互式图表. 安装模块 如果你还没安装 Plotly,只需在你的终端运行以下命令即可完成安装: pip install plotl

  • Python绘制loss曲线和准确率曲线实例代码

    目录 引言 一.数据读取与存储部分 二.绘制 loss 曲线 三.绘制准确率曲线 总结 引言 使用 python 绘制网络训练过程中的的 loss 曲线以及准确率变化曲线,这里的主要思想就时先把想要的损失值以及准确率值保存下来,保存到 .txt 文件中,待网络训练结束,我们再拿这存储的数据绘制各种曲线. 其大致步骤为:数据读取与存储 - > loss曲线绘制 - > 准确率曲线绘制 一.数据读取与存储部分 我们首先要得到训练时的数据,以损失值为例,网络每迭代一次都会产生相应的 loss,那么我

  • Python绘制KS曲线的实现方法

    python实现KS曲线,相关使用方法请参考上篇博客-R语言实现KS曲线 代码如下: ####################### PlotKS ########################## def PlotKS(preds, labels, n, asc): # preds is score: asc=1 # preds is prob: asc=0 pred = preds # 预测值 bad = labels # 取1为bad, 0为good ksds = DataFrame({

随机推荐