不同版本中Python matplotlib.pyplot.draw()界面繪制異常問(wèn)題的解決
前言
本文主要給大家介紹了關(guān)于不同版本中Python matplotlib.pyplot.draw()界面繪制異常的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。
在 Ubuntu系統(tǒng)上進(jìn)行如下配置:
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install python-dev $ sudo apt-get install python-pip $ sudo pip install --upgrade pip $ sudo pip install --upgrade urllib3 $ sudo pip install numpy $ sudo pip install matplotlib
之后執(zhí)行如下測(cè)試代碼:
import sys
import numpy as np
import matplotlib.pyplot as plt
plt.ion()
(fig, axis) = plt.subplots()
bar_plot = axis.barh(0, 8,linewidth = 0)
bar_plot.color= '#ffff00'
for i in range(20):
axis.set_xlim(xmax = max(i + 1, 10))
plt.draw()
if sys.version_info < (3, 0):
raw_input("Press Enter to continue...")
else:
input("Press Enter to continue...")
上面的測(cè)試代碼在 Ubuntu 14.04.5版本上是可以正常執(zhí)行的,對(duì)應(yīng)的 matplotlib的版本是 matplotlib 1.3.1,但是放到 Ubuntu 16.04.2系統(tǒng)上則是無(wú)法正常顯示的,對(duì)應(yīng)的 matplotlib的版本是 matplotlib 1.5.1。
造成這個(gè)問(wèn)題的原因在于 matplotlib.pyplot.draw() ,這個(gè)函數(shù)行為的改變,早期這個(gè)函數(shù)是同步更新界面的,后來(lái)的版本卻變成了空閑異步更新界面,只有當(dāng) matplotlib.pyplot.pause(interval)被調(diào)用的時(shí)候才會(huì)刷新界面。
所以只需要上面的代碼修改成如下即可在不同版本之間兼容:
import sys
import numpy as np
import matplotlib.pyplot as plt
plt.ion()
(fig, axis) = plt.subplots()
bar_plot = axis.barh(0, 8,linewidth = 0)
bar_plot.color= '#ffff00'
for i in range(20):
axis.set_xlim(xmax = max(i + 1, 10))
plt.draw()
plt.pause(0.00001)
if sys.version_info < (3, 0):
raw_input("Press Enter to continue...")
else:
input("Press Enter to continue...")
注意:我們?cè)?matplotlib.pyplot.draw()調(diào)用后面增加了 matplotlib.pyplot.pause(interval)的調(diào)用。
查看 matplotlib的版本使用如下代碼:
import matplotlib as mpl print mpl.__version__
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
參考鏈接
相關(guān)文章
Python處理中文標(biāo)點(diǎn)符號(hào)大集合
中文文本中可能出現(xiàn)的標(biāo)點(diǎn)符號(hào)來(lái)源比較復(fù)雜,通過(guò)匹配等手段對(duì)他們處理的時(shí)候需要格外小心,防止遺漏,下面小編給大家?guī)?lái)了Python處理中文標(biāo)點(diǎn)符號(hào)大集合,感興趣的朋友跟隨腳本之家小編一起看看吧2018-05-05
django的settings中設(shè)置中文支持的實(shí)現(xiàn)
這篇文章主要介紹了django的settings中設(shè)置中文支持的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
python結(jié)合shell查詢google關(guān)鍵詞排名的實(shí)現(xiàn)代碼
這篇文章主要介紹了python結(jié)合shell查詢google關(guān)鍵詞排名的實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-02-02
R vs. Python 數(shù)據(jù)分析中誰(shuí)與爭(zhēng)鋒?
R和Python兩者誰(shuí)更適合數(shù)據(jù)分析領(lǐng)域?在某些特定情況下誰(shuí)會(huì)更有優(yōu)勢(shì)?還是一個(gè)天生在各方面都比另一個(gè)更好?2017-10-10
Python實(shí)現(xiàn)小黑屋游戲的完整實(shí)例
這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)小黑屋游戲的完整實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

