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

Python matplotlib實時畫圖案例

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

實時畫圖

import matplotlib.pyplot as plt

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

實時畫圖 效果圖

補充知識:Python 繪圖與可視化 matplotlib 動態(tài)條形圖 bar

第一種辦法

一種方法是每次都重新畫,包括清除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))#這個必須沒有axs.cla()才行
  # axs.cla()
  axs.set_title('bubble_sort_visualization')
  axs.set_xticks([])
  axs.set_yticks([])
  bars=axs.bar(list(range(Data.data_count)),#個數(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。

第二種辦法

可以像平時畫線更新data那樣來更新bar的高

'''
遇到問題沒人解答?小編創(chuàng)建了一個Python學(xué)習(xí)交流QQ群:857662006 
尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學(xué)習(xí)教程和PDF電子書!
'''
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([])注釋了這個是能看到變化,要不看不到變化,不對,能看到變化,去了注釋吧
#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)#對于問題3,添加了這個
 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()

問題

*)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)]#錯誤的認為是dtype的原因,將這里改成了list(x)
for i in range(frames):
 collection.append([ci+1 for ci in collection[i]])#問題的原因是因為此時的collection還是一個一位數(shù)組,所以這個collection[i]是一個x里的一個數(shù),并不是一個列表,我竟然還以為的dtype的原因,又改了
xstd=[0,1,2,3,4]

應(yīng)該是

'''
遇到問題沒人解答?小編創(chuàng)建了一個Python學(xué)習(xí)交流QQ群:857662006 
尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學(xué)習(xí)教程和PDF電子書!
'''
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)了下面的問題:

*)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ù)錯誤,仔細想了一下,在報錯的代碼行中,collection原來是沒錯的,因為原來是一維數(shù)組,現(xiàn)在變成二維了,改為

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

好了

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

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

別的屬性

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

是通過控制寬度

width=1,#沒有間隔,每個條形圖會緊挨著

*)errorbar:

是加一個橫線,能通過xerr和yerr來調(diào)整方向

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

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

相關(guān)文章

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

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

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

    django中cookiecutter的使用教程

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

    Python實現(xiàn)簡單遺傳算法(SGA)

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

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

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

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

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

    理解Python中的類與實例

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

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

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

    Python時間處理模塊Time和DateTime

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

    Python基于pyopencv人臉識別并繪制GUI界面

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

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

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

最新評論

修武县| 分宜县| 奉化市| 太白县| 汾西县| 金阳县| 革吉县| 黄大仙区| 靖州| 天峻县| 汝南县| 云龙县| 肥城市| 昭苏县| 惠来县| 金塔县| 肇州县| 开封市| 深泽县| 博客| 上思县| 绥德县| 新营市| 大埔区| 托克逊县| 安化县| 都安| 治县。| 兴宁市| 信宜市| 洪湖市| 进贤县| 福州市| 怀宁县| 灵丘县| 吴旗县| 龙州县| 海原县| 梅州市| 阿克陶县| 通河县|