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

Python matplotlib實(shí)時(shí)畫(huà)圖案例

 更新時(shí)間:2020年04月23日 10:34:31   作者:Mrzhang先森  
這篇文章主要介紹了Python matplotlib實(shí)時(shí)畫(huà)圖案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

實(shí)時(shí)畫(huà)圖

import matplotlib.pyplot as plt

ax = []   # 定義一個(gè) x 軸的空列表用來(lái)接收動(dòng)態(tài)的數(shù)據(jù)
ay = []   # 定義一個(gè) y 軸的空列表用來(lái)接收動(dòng)態(tài)的數(shù)據(jù)
plt.ion()   # 開(kāi)啟一個(gè)畫(huà)圖的窗口
for i in range(100): # 遍歷0-99的值
 ax.append(i)  # 添加 i 到 x 軸的數(shù)據(jù)中
 ay.append(i**2) # 添加 i 的平方到 y 軸的數(shù)據(jù)中
 plt.clf()  # 清除之前畫(huà)的圖
 plt.plot(ax,ay) # 畫(huà)出當(dāng)前 ax 列表和 ay 列表中的值的圖形
 plt.pause(0.1)  # 暫停一秒
 plt.ioff()  # 關(guān)閉畫(huà)圖的窗口

實(shí)時(shí)畫(huà)圖 效果圖

補(bǔ)充知識(shí):Python 繪圖與可視化 matplotlib 動(dòng)態(tài)條形圖 bar

第一種辦法

一種方法是每次都重新畫(huà),包括清除figure

def animate(fi):
 bars=[]
 if len(frames)>fi:
  # axs.text(0.1,0.90,time_template%(time.time()-start_time),transform=axs.transAxes)#所以這樣
  time_text.set_text(time_template%(0.1*fi))#這個(gè)必須沒(méi)有axs.cla()才行
  # axs.cla()
  axs.set_title('bubble_sort_visualization')
  axs.set_xticks([])
  axs.set_yticks([])
  bars=axs.bar(list(range(Data.data_count)),#個(gè)數(shù)
    [d.value for d in frames[fi]],#數(shù)據(jù)
    1,    #寬度
    color=[d.color for d in frames[fi]]#顏色
    ).get_children()
 return bars
 anim=animation.FuncAnimation(fig,animate,frames=len(frames), interval=frame_interval,repeat=False)

這樣效率很低,而且也有一些不可取的弊端,比如每次都需要重新設(shè)置xticks、假如figure上添加的有其他東西,這些東西也一并被clear了,還需要重新添加,比如text,或者labale。

第二種辦法

可以像平時(shí)畫(huà)線(xiàn)更新data那樣來(lái)更新bar的高

'''
遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)!
'''
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import animation
 
 
fig=plt.figure(1,figsize=(4,3))
ax=fig.add_subplot(111)
ax.set_title('bar_animate_test')
#ax.set_xticks([])注釋了這個(gè)是能看到變化,要不看不到變化,不對(duì),能看到變化,去了注釋吧
#ax.set_yticks([])
ax.set_xlabel('xlable')
N=5
frames=50
x=np.arange(1,N+1)
 
collection=[]
collection.append([i for i in x])
for i in range(frames):
 collection.append([ci+1 for ci in collection[i]])
print(collection)
xstd=[0,1,2,3,4]
bars=ax.bar(x,collection[0],0.30)
def animate(fi):
 # collection=[i+1 for i in x]
   ax.set_ylim(0,max(collection[fi])+3)#對(duì)于問(wèn)題3,添加了這個(gè)
 for rect ,yi in zip(bars,collection[fi]):
 rect.set_height(yi)
 # bars.set_height(collection)
 return bars
anim=animation.FuncAnimation(fig,animate,frames=frames,interval=10,repeat=False)
plt.show()

問(wèn)題

*)TypeError: ‘numpy.int32' object is not iterable

x=np.arange(1,N+1)<br>collection=[i for i in x]
#collection=[i for i in list(x)]#錯(cuò)誤的認(rèn)為是dtype的原因,將這里改成了list(x)
for i in range(frames):
 collection.append([ci+1 for ci in collection[i]])#問(wèn)題的原因是因?yàn)榇藭r(shí)的collection還是一個(gè)一位數(shù)組,所以這個(gè)collection[i]是一個(gè)x里的一個(gè)數(shù),并不是一個(gè)列表,我竟然還以為的dtype的原因,又改了
xstd=[0,1,2,3,4]

應(yīng)該是

'''
遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)!
'''
collection=[]
collection.append([i for i in x])#成為二維數(shù)組
for i in range(frames):
 collection.append([ci+1 for ci in collection[i]])

然后又出現(xiàn)了下面的問(wèn)題:

*)TypeError: only size-1 arrays can be converted to Python scalars

Traceback (most recent call last):
 File "forTest.py", line 22, in <module>
 bars=ax.bar(x,collection,0.30)
 File "C:\Users\Administrator.SC-201605202132\Envs\sort\lib\site-packages\matplotlib\__init__.py", line 1589, in inner
 return func(ax, *map(sanitize_sequence, args), **kwargs)
 File "C:\Users\Administrator.SC-201605202132\Envs\sort\lib\site-packages\matplotlib\axes\_axes.py", line 2430, in bar
 label='_nolegend_',
 File "C:\Users\Administrator.SC-201605202132\Envs\sort\lib\site-packages\matplotlib\patches.py", line 707, in __init__
 Patch.__init__(self, **kwargs)
 File "C:\Users\Administrator.SC-201605202132\Envs\sort\lib\site-packages\matplotlib\patches.py", line 89, in __init__
 self.set_linewidth(linewidth)
 File "C:\Users\Administrator.SC-201605202132\Envs\sort\lib\site-packages\matplotlib\patches.py", line 368, in set_linewidth
 self._linewidth = float(w)
TypeError: only size-1 arrays can be converted to Python scalars

應(yīng)該是傳遞的參數(shù)錯(cuò)誤,仔細(xì)想了一下,在報(bào)錯(cuò)的代碼行中,collection原來(lái)是沒(méi)錯(cuò)的,因?yàn)樵瓉?lái)是一維數(shù)組,現(xiàn)在變成二維了,改為

bars=ax.bar(x,collection[0],0.30)

好了

*)出現(xiàn)的問(wèn)題,在上面的代碼中,運(yùn)行的時(shí)候不會(huì)畫(huà)布的大小不會(huì)變,會(huì)又條形圖溢出的情況,在animate()中添加了

'''
遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)!
'''
def animate(fi):
 # collection=[i+1 for i in x]
 ax.set_ylim(0,max(collection[fi])+3)#添加了這個(gè)
 for rect ,yi in zip(bars,collection[fi]):
 rect.set_height(yi)
 
 # bars.set_height(collection)
 return bars

別的屬性

*)條形圖是怎樣控制間隔的:

是通過(guò)控制寬度

width=1,#沒(méi)有間隔,每個(gè)條形圖會(huì)緊挨著

*)errorbar:

是加一個(gè)橫線(xiàn),能通過(guò)xerr和yerr來(lái)調(diào)整方向

xstd=[0,1,2,3,4]
bars=ax.bar(x,collection,0.30,xerr=xstd)

以上這篇Python matplotlib實(shí)時(shí)畫(huà)圖案例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python數(shù)據(jù)類(lèi)型之String字符串實(shí)例詳解

    Python數(shù)據(jù)類(lèi)型之String字符串實(shí)例詳解

    這篇文章主要介紹了Python數(shù)據(jù)類(lèi)型之String字符串,結(jié)合實(shí)例形式詳細(xì)講解了Python字符串的概念、定義、連接、格式化、轉(zhuǎn)換、查找、截取、判斷等常見(jiàn)操作技巧,需要的朋友可以參考下
    2019-05-05
  • django中cookiecutter的使用教程

    django中cookiecutter的使用教程

    這篇文章主要給大家介紹了關(guān)于django中cookiecutter使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python實(shí)現(xiàn)簡(jiǎn)單遺傳算法(SGA)

    Python實(shí)現(xiàn)簡(jiǎn)單遺傳算法(SGA)

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)簡(jiǎn)單遺傳算法SGA,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 在前女友婚禮上用python把婚禮現(xiàn)場(chǎng)的WIFI名稱(chēng)改成了

    在前女友婚禮上用python把婚禮現(xiàn)場(chǎng)的WIFI名稱(chēng)改成了

    大家好,我是Lex 喜歡欺負(fù)超人那個(gè)Lex 擅長(zhǎng)領(lǐng)域:python開(kāi)發(fā),網(wǎng)絡(luò)安全滲透,Windows域控Exchange架構(gòu) 今日重點(diǎn):python暴力拿下WiFi密碼;python拿下路由器管理頁(yè)面 代碼干貨滿(mǎn)滿(mǎn),建議收藏+實(shí)操!有問(wèn)題及需要,請(qǐng)留言哦
    2021-08-08
  • pandas將Series轉(zhuǎn)成DataFrame的實(shí)現(xiàn)

    pandas將Series轉(zhuǎn)成DataFrame的實(shí)現(xiàn)

    本文主要介紹了pandas將Series轉(zhuǎn)成DataFrame的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 理解Python中的類(lèi)與實(shí)例

    理解Python中的類(lèi)與實(shí)例

    這篇文章主要介紹了Python中的類(lèi)與實(shí)例,類(lèi)與實(shí)例的概念是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-04-04
  • Python實(shí)現(xiàn)xml格式轉(zhuǎn)txt格式的示例代碼

    Python實(shí)現(xiàn)xml格式轉(zhuǎn)txt格式的示例代碼

    VOC 的標(biāo)注是xml格式的,而YOLO是.txt格式,所以要實(shí)現(xiàn)VOC數(shù)據(jù)集轉(zhuǎn)YOLO數(shù)據(jù)集,只能利用代碼實(shí)現(xiàn)。所以本文為大家介紹了Python中xml轉(zhuǎn)txt的示例代碼,需要的可以參考一下
    2022-03-03
  • Python時(shí)間處理模塊Time和DateTime

    Python時(shí)間處理模塊Time和DateTime

    這篇文章主要為大家介紹了Python時(shí)間處理模塊Time和DateTime使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Python基于pyopencv人臉識(shí)別并繪制GUI界面

    Python基于pyopencv人臉識(shí)別并繪制GUI界面

    本文詳細(xì)講解了Python基于pyopencv人臉識(shí)別并繪制GUI界面,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • Python中使用字典對(duì)列表中的元素進(jìn)行計(jì)數(shù)的幾種方式

    Python中使用字典對(duì)列表中的元素進(jìn)行計(jì)數(shù)的幾種方式

    本文主要介紹了Python中使用字典對(duì)列表中的元素進(jìn)行計(jì)數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06

最新評(píng)論

浏阳市| 清水县| 阿尔山市| 崇信县| 连云港市| 修水县| 伊宁市| 常德市| 巴里| 安溪县| 南江县| 西乌珠穆沁旗| 德惠市| 德江县| 通渭县| 浪卡子县| 抚顺市| 临城县| 扶风县| 普格县| 蓬安县| 乌审旗| 东宁县| 彭泽县| 上饶县| 大宁县| 灵山县| 崇礼县| 本溪| 天门市| 响水县| 靖安县| 乐东| 垦利县| 青神县| 新邵县| 子长县| 原平市| 太湖县| 吉木乃县| 紫云|