2
從所有的示例代碼/演示我在VisPy庫中所看到的,我只看到一個方式,人們繪製多行,例如:有效地繪製多條線路在VisPy
for i in range(N):
pos = pos.copy()
pos[:, 1] = np.random.normal(scale=5, loc=(i+1)*30, size=N)
line = scene.visuals.Line(pos=pos, color=color, parent=canvas.scene)
lines.append(line)
canvas.show()
我的問題是,我有許多線要繪製(每個數十萬點)。 Matplotlib被證明太慢了,因爲繪製的點總數是幾百萬,因此我轉向了VisPy。但是,當你繪製成千上萬個點的線時,VisPy會更慢(當你有數百萬個點時,速度會提高)。
根本原因在於繪製線條的方式。當您創建繪圖小部件並繪製一條線時,每條線都會呈現到畫布上。在matplotlib中,你可以明確聲明不顯示畫布,直到所有行都被繪製在內存中,但是在VisPy中看起來並沒有相同的功能,這使得它無用。
有沒有辦法解決這個問題?我需要繪製多行文字,以便交互式地更改屬性,因此將所有數據點平鋪爲一個繪圖調用將不起作用。
(我使用的是PyQt4中嵌入在GUI中的情節。我還考慮pyqtgraph。)