python的最大绘图速度_Python数据可视化之高速绘图神器PyQtGraph库,强烈建议收藏...
01為什么使用PyQtGraph庫(kù)
我們知道,在Python中,已經(jīng)有了很多可供選擇的數(shù)據(jù)可視化庫(kù)。
比如最經(jīng)典、使用人數(shù)最多的matplotlib庫(kù),其有著十多年的歷史積累,可生成高質(zhì)量出版級(jí)別的圖形,它幾乎已經(jīng)成了事實(shí)上的Python繪圖標(biāo)準(zhǔn)庫(kù)。再比如在matplotlib庫(kù)基礎(chǔ)上衍生的其它繪圖庫(kù),如seaborn、ggplot、plotnine等等,甚至還有其它的一些庫(kù)如底層使用JavaScript 實(shí)現(xiàn)的開(kāi)源可視化庫(kù)pyecharts等,這些庫(kù)都比較容易使用,幾行代碼就可畫(huà)出來(lái)漂亮的圖形。
但是這些繪圖庫(kù)也存在著不足,即在圖形繪制速度上有所欠缺,特別是對(duì)于科研算法方面的數(shù)據(jù)可視化,很多情況需要實(shí)時(shí)繪圖,要求能夠提供盡可能快的繪制刷新速度,那這些庫(kù)顯的有些力不從心了。
而我們下面要介紹的繪圖庫(kù)-PyQtGraph庫(kù),則在繪圖速度方面表現(xiàn)尤其突出,在不失繪圖美觀、功能強(qiáng)大的前提下,在繪圖速度方面作了極大的優(yōu)化,特別適合于實(shí)時(shí)數(shù)據(jù)采集的動(dòng)態(tài)圖形繪制場(chǎng)合。
02什么是PyQtGraph庫(kù)
先上個(gè)2D繪制效果圖:
再來(lái)個(gè)3D繪制效果圖:
PyQtGraph是一個(gè)純python的圖形和GUI庫(kù),構(gòu)建于PyQt4/PySide和numpy之上,它主要用于數(shù)學(xué)/科學(xué)/工程應(yīng)用方面。雖然該庫(kù)完全用python編寫(xiě),但其內(nèi)部使用了Qt的GraphicsView框架及numpy計(jì)算庫(kù),因此其在圖形繪制及數(shù)據(jù)處理速度方面有著極其優(yōu)異的表現(xiàn)。同時(shí),PyQtGraph是在MIT開(kāi)源許可下發(fā)布的。
該庫(kù)可運(yùn)行于Python2和Python3上,其兩個(gè)主要特色為:
為數(shù)據(jù)(繪圖,視頻等)提供了快速可交互式的圖形(2D和3D)顯示。提供了幫助快速開(kāi)發(fā)應(yīng)用程序的小工具/部件,如屬性樹(shù)、顏色選擇框按鈕等。大家有興趣可去官網(wǎng)看下。
03PyQtGraph庫(kù)的主要特點(diǎn)
這兒僅列舉部分功能,詳細(xì)的可直接查看官方文檔。
1、可交互式的2D/3D繪圖功能
折線圖、散點(diǎn)圖、三維曲面基于等值面生成的網(wǎng)格繪制豐富的屬性設(shè)置支持顯示大多數(shù)數(shù)據(jù)類(lèi)型(int或float;任意位深度;RGB、RGBA或亮度)在任意角度對(duì)多維圖像進(jìn)行切片的功能(非常適合MRI數(shù)據(jù))交互式鼠標(biāo)平移/旋轉(zhuǎn)/縮放實(shí)時(shí)數(shù)據(jù)顯示與交互的快速繪圖
2、數(shù)據(jù)選擇/標(biāo)記和關(guān)注區(qū)域控制
在繪圖中可交互標(biāo)記垂直/水平位置和區(qū)域在圖像中可選擇任意區(qū)域并自動(dòng)切片數(shù)據(jù)以匹配的小部件
3、科學(xué)/工程應(yīng)用程序有用的小部件和模塊庫(kù)
參數(shù)樹(shù)、顏色漸變編輯器及帶SI單位顯示和對(duì)數(shù)步進(jìn)的SpinBox小部件等類(lèi)似于Qt的Dock系統(tǒng),但更加靈活和可編程,允許用戶(hù)重新排列圖形用戶(hù)界面組件怎么樣,這里面有沒(méi)有你感興趣的呢?心動(dòng)了么?
04PyQtGraph庫(kù)的安裝
以Windows系統(tǒng)為例,對(duì)于Python2或Python3,以下兩種方法都可以安裝:
pip命令行安裝:pip install pyqtgraph官網(wǎng)下載exe程序安裝:32位和64位的分別為pyqtgraph-0.10.0.win32.exe,pyqtgraph-0.10.0.win-amd64.exe文件
05PyQtGraph庫(kù)的使用
PyQtGraph庫(kù)提供了如下幾種使用方式:
在交互式shell如ipython里顯示數(shù)據(jù)在應(yīng)用程序中直接彈出彈出窗口顯示數(shù)據(jù)以小部件窗口的方式嵌入到在PyQt應(yīng)用程序中顯示數(shù)據(jù)下面是一個(gè)超簡(jiǎn)單直接彈出窗口的例子,代碼如下:
運(yùn)行結(jié)果如下圖所示:
是不是比較簡(jiǎn)單啊。
另外,這個(gè)庫(kù)比較好的地方是自帶了很多很多的例子,如果你想看更多更復(fù)雜的效果,就從它的例子開(kāi)始學(xué)習(xí)吧,打開(kāi)例子的方法只需要下面兩行代碼:
import pyqtgraph.examples
pyqtgraph.examples.run()
例子界面如下圖所示,每一個(gè)都可以單獨(dú)運(yùn)行:
GraphicsView框架及numpy計(jì)算庫(kù)的有機(jī)結(jié)合,造就了PyQtGraph庫(kù)的高速繪制性能,小伙伴們,快試下吧。
總結(jié)
以上是生活随笔為你收集整理的python的最大绘图速度_Python数据可视化之高速绘图神器PyQtGraph库,强烈建议收藏...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: vue 后台返回的文件流进行预览_vue
- 下一篇: jupyter中中文显示不正常_jupy