博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python Matplotlib.plot Update image Questions
阅读量:4641 次
发布时间:2019-06-09

本文共 2182 字,大约阅读时间需要 7 分钟。

1. 最近在测试一款设备,采集了一些设备后需要一帧一帧显示图像,经常使用Python,所以选用了Matplotlib进行图像操作

数据结构: timesatamp polar_distance horizontal_angle refelectivity_intensity,所有数据类型都是 float,储存在文件内并且以空格分隔

import mathimport matplotlib.pyplot as plt#read data from filedef LoadData(filename):    inFile = open(filename, 'r')        #declare two empty list,to save data    inten = []    polar_dist = []    hori_angle = []        for line in inFile:        splitline = line.split(" ")        polar_dist.append(splitline[1])        hori_angle.append(splitline[2])        inten.append(splitline[3])    inFile.close()          #mapping to float    polar_dist = list(map(float,polar_dist))    hori_angle = list(map(float,hori_angle))    inten = list(map(float,inten))        return(polar_dist, hori_angle,inten)

2. 显示极坐标图像

def GenerateImageFromData(polar,angle,inten):    d2r = math.pi/180    for i in range(len(polar)):        angle[i] = d2r*(angle[i] +180)    plt.ion()   #inreactive code    ax = plt.subplot(111, projection='polar')    for i in range(100):        c = ax.scatter(angle[i*167 :(i+1)*167], polar[i*167 :(i+1)*167], s = 10)        plt.show()        plt.pause(1)

3. 调用函数

if __name__=="__main__":    (polar,angle,inten) = LoadData("CloudData.txt")    GenerateImageFromData(polar,angle,inten)

当绘图语句中加入pl.ion()时,表示打开了交互模式。此时python解释器解释完所有命令后,给你出张图,但不会结束会话,而是等着你跟他交流交流。如果你继续往代码中加入语句,run之后,你会实时看到图形的改变。当绘图语句中加入pl.ioff()时或不添加pl.ion()时,表示打关了交互模式。

4. 另外一个example 

#!/usr/bin/env python3# -*- coding: utf-8 -*-"""Created on Thu Nov 16 21:26:17 2017@author: XX"""import matplotlib.pylab as plt import numpy as np import math #clear images plt.close()fig = plt.figure()ax = fig.add_subplot(111)#ratio of x and y axisax.axis("equal")#enable grid of imageax.grid(True)#activate inreactivate modeplt.ion()init_x = 0.0init_y = 3.5init_angle = 45init_wind_speed = 3print("inreactive mode beginning")try:     for t in range(50):        x = init_x + init_wind_speed*math.sin(math.pi/180*init_angle)*t        y = init_y + init_wind_speed*math.cos(init_angle*math.pi/180)*t        ax.scatter(x,y,c='r', s =5, marker ='^')        plt.pause(0.2)except Exception as err:    print(err)

 

转载于:https://www.cnblogs.com/flyinggod/p/7846760.html

你可能感兴趣的文章
SVN常用命令备注
查看>>
孩子教育
查看>>
解决Cacti监控图像断断续续问题
查看>>
结构体的传参理解成员的存储方式
查看>>
python 进程与线程(理论部分)
查看>>
什么是API
查看>>
Java反射中method.isBridge() 桥接方法
查看>>
[shiro学习笔记]第二节 shiro与web融合实现一个简单的授权认证
查看>>
强名称程序集(strong name assembly)——为程序集赋予强名称
查看>>
1028. List Sorting (25)
查看>>
BZOJ 1613: [Usaco2007 Jan]Running贝茜的晨练计划
查看>>
ubuntu 重启命令,ubuntu 重启网卡方法
查看>>
Linux的学习:
查看>>
JavaScript中的原型继承原理
查看>>
Python logger模块
查看>>
jquery控制css的display(控制元素的显示与隐藏)
查看>>
关于python做人工智能的一个网页(很牛逼)
查看>>
判断控件的CGRect是否重合,获取控件的最大XY值
查看>>
POJ-1128 Frame Stacking
查看>>
异常体系
查看>>