我正在尝试使用 Vispy 创建条形图,因为我倾向于使用 opengl 来处理大量数据。
从 vispy 文档中,我找到了 visuals.Rectangle 类,它为我提供了一个“栏”。不幸的是,这个类只需要一组点,所以我试图在一个循环中创建多个矩形。此时,情节已经在几个矩形处变慢了,100-1000 已经很糟糕了。显然,这是创建将我带到这里的图表的错误方法。如何在不单独添加每个矩形的情况下创建多个矩形?
这是一个片段:
import sys
import numpy as np
from vispy import scene, app
canvas = scene.SceneCanvas(keys='interactive')
canvas.size = 600, 600
canvas.show()
grid = canvas.central_widget.add_grid()
view = grid.add_view(row=0, col=0)
view.camera = scene.PanZoomCamera(rect=(-1,-1,10,10))
for i in range(10):
rec = scene.visuals.Rectangle(center=(i, i), height=1, width=0.5, color='r')
view.add(rec)
gl = scene.visuals.GridLines(parent=view.scene)
if __name__ == '__main__' and sys.flags.interactive == 0:
app.run()