最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python+matplotlib實(shí)現(xiàn)動(dòng)態(tài)繪制圖片實(shí)例代碼(交互式繪圖)

 更新時(shí)間:2018年01月20日 12:06:46   作者:DHUtoBUAA  
這篇文章主要介紹了python+matplotlib實(shí)現(xiàn)動(dòng)態(tài)繪制圖片實(shí)例代碼(交互式繪圖),小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下

本文研究的主要是python+matplotlib實(shí)現(xiàn)動(dòng)態(tài)繪制圖片(交互式繪圖)的相關(guān)內(nèi)容,具體介紹和實(shí)現(xiàn)代碼如下所示。

  最近在研究動(dòng)態(tài)障礙物避障算法,在Python語言進(jìn)行算法仿真時(shí)需要實(shí)時(shí)顯示障礙物和運(yùn)動(dòng)物的當(dāng)前位置和軌跡,利用Anaconda的Python打包集合,在Spyder中使用Python3.5語言和matplotlib實(shí)現(xiàn)路徑的動(dòng)態(tài)顯示和交互式繪圖(和Matlab功能類似)。

  Anaconda是一個(gè)用于科學(xué)計(jì)算的Python發(fā)行版,支持 Linux, Mac, Windows系統(tǒng),提供了包管理與環(huán)境管理的功能,可以很方便地解決多版本python并存、切換以及各種第三方包安裝問題。Anaconda利用工具/命令conda來進(jìn)行package和environment的管理,并且已經(jīng)包含了Python和相關(guān)的配套工具。Anaconda官方地址:https://www.continuum.io/downloads/

  matplotlib 是python最著名的繪圖庫,它提供了一整套和matlab相似的命令A(yù)PI,十分適合交互式地進(jìn)行制圖。而且也可以方便地將它作為繪圖控件,嵌入GUI應(yīng)用程序中。其中,matplotlib的pyplot子庫提供了和matlab類似的繪圖API,方便用戶快速繪制2D圖表,它的文檔相當(dāng)完備,并且 Gallery頁面中有上百幅縮略圖,打開之后都有源程序。matplotlib官方地址:http://matplotlib.org/

  在調(diào)研matplotlib動(dòng)態(tài)繪制曲線方法中,和matlab相似有animation方法和交互式繪圖,但是animation方法靈活性不高,不太適合路徑的實(shí)時(shí)動(dòng)態(tài)顯示,本文最后采用交互式繪圖模(interactive mode)。具體參見http://matplotlib.org/users/shell.html。

  The interactive property of the pyplot interface controls whether a figure canvas is drawn on every pyplot command. If interactive is False, then the figure state is updated on every plot command, but will only be drawn on explicit calls to draw(). When interactive is True, then every pyplot command triggers a draw.

  當(dāng)繪圖語句中加入pl.ion()時(shí),表示打開了交互模式。此時(shí)python解釋器解釋完所有命令后,給你出張圖,但不會(huì)結(jié)束會(huì)話,而是等著你跟他交流交流。如果你繼續(xù)往代碼中加入語句,run之后,你會(huì)實(shí)時(shí)看到圖形的改變。當(dāng)繪圖語句中加入pl.ioff()時(shí)或不添加pl.ion()時(shí),表示打關(guān)了交互模式。此時(shí)要在代碼末尾加入pl.show()才能顯示圖片。python解釋器解釋完所有命令后,給你出張圖,同時(shí)結(jié)束會(huì)話。如果你繼續(xù)往代碼中加入語句,再不會(huì)起作用,除非你關(guān)閉當(dāng)前圖片,重新run。

  采用交互式繪圖模式后,可以方便地繪出障礙物的運(yùn)動(dòng)軌跡和當(dāng)前位置,深切感覺matplotlib和matlab很類似,基本matlab的功能都可以在matplotlib中找到,所以matlab中的代碼也可以很快移植到python中!

代碼示例:

# -*- coding: utf-8 -*-
"""
Created on Sat Mar 25 23:28:29 2017

@author: wyl
"""

import matplotlib.pyplot as plt
from matplotlib.patches import Circle
import numpy as np
import math
  
plt.close() #clf() # 清圖 cla() # 清坐標(biāo)軸 close() # 關(guān)窗口
fig=plt.figure()
ax=fig.add_subplot(1,1,1)
ax.axis("equal") #設(shè)置圖像顯示的時(shí)候XY軸比例
plt.grid(True) #添加網(wǎng)格
plt.ion() #interactive mode on
IniObsX=0000
IniObsY=4000
IniObsAngle=135
IniObsSpeed=10*math.sqrt(2)  #米/秒
print('開始仿真')
try:
  for t in range(180):
    #障礙物船只軌跡
    obsX=IniObsX+IniObsSpeed*math.sin(IniObsAngle/180*math.pi)*t
    obsY=IniObsY+IniObsSpeed*math.cos(IniObsAngle/180*math.pi)*t
    ax.scatter(obsX,obsY,c='b',marker='.') #散點(diǎn)圖
    #ax.lines.pop(1) 刪除軌跡
    #下面的圖,兩船的距離
    plt.pause(0.001)
except Exception as err:
  print(err)

演示結(jié)果:

總結(jié)

以上就是本文關(guān)于python+matplotlib實(shí)現(xiàn)動(dòng)態(tài)繪制圖片實(shí)例代碼(交互式繪圖)的全部內(nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • import?paddle報(bào)錯(cuò)的成功解決方法

    import?paddle報(bào)錯(cuò)的成功解決方法

    最近安裝paddle的時(shí)候遇到了些問題,這里給大家總結(jié)下,下面這篇文章主要給大家介紹了關(guān)于import?paddle報(bào)錯(cuò)的成功解決方法,需要的朋友可以參考下
    2023-06-06
  • 使用簡(jiǎn)單工廠模式來進(jìn)行Python的設(shè)計(jì)模式編程

    使用簡(jiǎn)單工廠模式來進(jìn)行Python的設(shè)計(jì)模式編程

    這篇文章主要介紹了使用簡(jiǎn)單工廠模式來進(jìn)行Python的設(shè)計(jì)模式編程的方法,需要的朋友可以參考下
    2016-03-03
  • Python Django框架模板渲染功能示例

    Python Django框架模板渲染功能示例

    這篇文章主要介紹了Python Django框架模板渲染功能,結(jié)合實(shí)例形式分析了Django框架模板渲染相關(guān)的配置、視圖調(diào)用、變量賦值等相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11
  • numpy.unique()使用方法

    numpy.unique()使用方法

    本文主要介紹了numpy.unique()使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python filter過濾器原理及實(shí)例應(yīng)用

    Python filter過濾器原理及實(shí)例應(yīng)用

    這篇文章主要介紹了Python filter過濾器原理及實(shí)例應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • python利用opencv保存、播放視頻

    python利用opencv保存、播放視頻

    這篇文章主要介紹了python利用opencv保存、播放視頻,幫助大家更好的利用python處理視頻,感興趣的朋友可以了解下
    2020-11-11
  • Python 中檢查一個(gè)字符是否為數(shù)字的示例代碼

    Python 中檢查一個(gè)字符是否為數(shù)字的示例代碼

    本文詳細(xì)介紹了在 Python 中檢查一個(gè)字符是否為數(shù)字的幾種常用方法。我們介紹了使用 isdigit() 方法、isnumeric() 方法和正則表達(dá)式等方法,并提供了示例代碼幫助你理解和應(yīng)用這些方法,需要的朋友可以參考下
    2023-06-06
  • Python中矩陣庫Numpy基本操作詳解

    Python中矩陣庫Numpy基本操作詳解

    這篇文章主要為大家詳細(xì)介紹了Python中矩陣庫Numpy的基本操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Flask框架請(qǐng)求鉤子與request請(qǐng)求對(duì)象用法實(shí)例分析

    Flask框架請(qǐng)求鉤子與request請(qǐng)求對(duì)象用法實(shí)例分析

    這篇文章主要介紹了Flask框架請(qǐng)求鉤子與request請(qǐng)求對(duì)象用法,結(jié)合實(shí)例形式詳細(xì)分析了Flask框架請(qǐng)求鉤子與request請(qǐng)求對(duì)象相關(guān)原理、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2019-11-11
  • Python多線程如何同時(shí)處理多個(gè)文件

    Python多線程如何同時(shí)處理多個(gè)文件

    這篇文章主要介紹了Python多線程如何同時(shí)處理多個(gè)文件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評(píng)論

定襄县| 伊吾县| 新兴县| 扎鲁特旗| 大埔区| 宾阳县| 开远市| 四平市| 驻马店市| 宜阳县| 长寿区| 潼南县| 天台县| 南开区| 定兴县| 油尖旺区| 同心县| 侯马市| 泾阳县| 盐源县| 绥阳县| 加查县| 泸州市| 武宁县| 双牌县| 江永县| 牡丹江市| 张家港市| 金寨县| 东港市| 刚察县| 若羌县| 潢川县| 道真| 漾濞| 通许县| 巨鹿县| 大新县| 清徐县| 孝昌县| 禄劝|