A fast plotting library built using the pygfx
render engine that can use Vulkan, so it is very fast!
Checkout pygfx! https://github.com/pygfx/pygfx
fastplotlib
is very experimental but you're welcome to try it out or contribute!
See the examples dir. Start out with simple.ipynb
which uses the high level API.
from fastplotlib import Plot
import numpy as np
plot = Plot()
data = (np.random.rand(512, 512) * 255).astype(np.float32)
plot.image(data=data, vmin=0, vmax=255, cmap='viridis')
plot.show()
from fastplotlib import Plot
import numpy as np
plot = Plot()
data = (np.random.rand(512, 512) * 255).astype(np.float32)
image = plot.image(data=data, vmin=0, vmax=255, cmap='viridis')
def update_data():
new_data = (np.random.rand(512, 512) * 255).astype(np.float32)
image.update_data(new_data)
plot.add_animations([update_data])
plot.show()
Install directly from GitHub until I stabilize things.
pip install https://github.com/kushalkolar/fastplotlib.git
Don't install from PYPI (I had to take the name fastplotlib
before someone else did).
You will need a GPU that supports Vulkan (iGPUs in CPUs should be fine). Generally if your GPU is from 2017 or later it should support Vulkan.
For more information see: https://github.com/pygfx/wgpu-py#platform-requirements
Apparently Vulkan should be installed by default on Windows 11.
Debian based distros:
sudo apt install mesa-vulkan-drivers
# for better performance with the remote frame buffer install libjpeg-turbo
sudo apt install libjpeg-turbo
For other distros use Google to find the appropriate vulkan driver package
You will need at least MacOSX v10.13, not sure how to install Vulkan drivers on Mac but you can probably find instructions on the internet.
https://www.youtube.com/embed/-_0Gp_EqepI