VisPy 中文文檔:簡介與安裝

VisPy 是一個高性能互動式 2D/3D 數據可視化庫,通過 OpenGL 庫來對目前的圖形處理單元(GPU)的計算性能進行充分利用,用於超大規模數據集的顯示。

譯者前言

Kivy 中文編程指南文檔快翻譯完了,現在又開了一個新坑,就是這個 VisPy,這主要是因為我當前在開發的 GeoPython 項目中存在著超大規模數據呈現的需求,所以我決定用顯卡繪圖來試一試。我此前從來沒有任何 OpenGL 相關的經驗,也完全是從零起步,一邊學習,一邊翻譯,所以難免導致翻譯質量的波動,而且大部分時刻可能是翻譯得挺差的。然而我是一個希望把事情做了就盡量做好的人,所以大家發現任何錯誤,請一定不吝賜教,讓我有改正和提高的機會。

簡單介紹

英文原文

VisPy 的開發正在緊鑼密鼓地展開,目前還沒有完成一個完整的用戶文檔。VisPy 針對了以下兩種用戶作為目標群體:

  • 懂得 OpenGL 的用戶,或者是願意去學習 OpenGL 的用戶,這些人往往希望通過 Python 來實現儘可能簡單的又好看又快速的互動式 2D/3D 可視化。這類用戶可以通過 vispy.gloo 來創造自己的可視化方式(當然這需要有一定的 OpenGL或者GLSL的知識背景)。

  • 一點也不了解 OpenGL 的科學家(譯者表示自己就是>~<),尋求一些高層次、高性能的數據投圖工具。使用 vispy.plot 和 vispy.scene 就可以進行高層次的工作了(注意:都是實驗性質或者還在開發中的功能)。

可以看看圖像展示,嘗試來點靈感什麼的。

安裝指南

原文地址

依賴包

VisPy 最標準的唯一依賴包,就是 numpy。

後端需求

VisPy 要求至少要有一個工具能打開窗口並創建一個 OpenGL 環境。可以用 Qt, GLFW,SDL2, Wx, Pyglet。對於某些可視化,還可以在IPython notebook (version 3 或者之後的版本) 中來使用 WebGL。

特別警告

只要有一個後端工具就可以了,不是要全部安裝。

硬體需求

VisPy 會高強度地使用你機器上的顯卡。更確切地說,VisPy 是通過著色器(shader)來利用圖形處理單元(GPU)。所以 VisPy 就需要一個盡量比較新的顯卡(最低也得是十二年內的),還需要一個更新到最近版本的顯卡驅動,這樣 VisPy 才能有許可權使用可編程管線(而不能是固定管線)。

怎麼查看系統信息呢?(在 Python 中)可以用下面的命令:

import vispy #這裡一定要加上這句,否則必然報錯,至於為什麼,請參考 Python 基礎知識nnprint(vispy.sys_info())n

(譯者註:作者原文這裡都沒說要在 Python 中,也沒有給出導入 vispy 的那句話,所以充分說明作者的文檔原文是給有相當熟練的 Python 基礎的人來閱讀使用的,我這裡為了新手來進行翻譯,所以盡量都給標註上。感覺原文作者的邏輯有問題,還沒給說明白怎麼安裝,查看系統信息就來了一個必須要安裝好 VisPy 才能用的方式,太扯了吧?)n

上面的命令輸出的結果就是一大串子的信息了,都是和你的系統以及顯卡驅動有關的。一定注意,OpenGL 的版本不能低於 2.1。

安裝選項

要想安裝最新發行的穩定版的 VisPy ,就用如下命令就可以了:

pip install --upgrade vispyn

想要運行最新開發版本,只需要在你本地的機器上同步一下代碼,然後在安裝的時候標註一下develop就可以使用到最新的master版本的程序代碼了:

git clone git://github.com/vispy/vispy.git # 這是同步代碼到一個名為"vispy"的文件夾ncd vispynpython setup.py developn

當然不用同步代碼的方式也可以,還是可以用 pip 來安裝的:

pip install -e git+https://github.com/vispy/vispy#egg=vispy-devn

測試安裝

強烈推薦在安裝之後馬上運行一下測試工具,來檢查一下安裝是否成功。測試方法如下:

import vispynvispy.test()n

(譯者註:一定要注意,這個 vispy.test 必須在用 git 同步下來的 vispy 文件夾內進行才可以,否則一定會報錯的!官方文檔真是太粗糙了。。。)n

推薦閱讀:

[2] Python變數
如何用100行Python代碼做出魔性聲控遊戲「八分音符醬」
爬蟲入門到精通-headers的詳細講解(If-modified-since)
跟黃哥學python序列文章之python方法鏈(method chaining)
代碼優化指南:人生苦短,我用Python

TAG:Python | DataVisualization |