Python Matplotlib.plot Update image Questions

來源:互聯網
上載者:User

標籤:return   rom   改變   開啟   highlight   ping   解譯器   data   size   

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)

 

Python Matplotlib.plot Update image Questions

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.