12345678910111213141516171819202122232425262728293031323334 |
- """Use magicclass to plot\nrandom points and a histogram."""
- import numpy as np
- import vedo
- try:
- from magicclass import magicclass, field
- from magicclass.ext.vtk import VedoCanvas
- except ImportError:
- print("Please install magicclass with: pip install magic-class")
- @magicclass
- class ViewerUI:
- canvas = field(VedoCanvas)
- def plot_random_points(self):
- """Plot random data."""
- # create a points object and a set of axes
- coords = np.random.randn(1000, 3)
- data = np.cos(coords[:,1])
- points = vedo.Points(coords)
- points.cmap("viridis", data).add_scalarbar3d()
- axes = vedo.Axes(points, c="white")
- # create a histogram of data
- histo = vedo.pyplot.histogram(
- data, c="viridis", title=" ", xtitle="", ytitle="",
- )
- histo = histo.clone2d("bottom-right", size=0.25)
- ui.canvas.plotter.remove("Axes", "Points", "Histogram1D")
- ui.canvas.plotter.add(points, axes, histo)
- ui.canvas.plotter.reset_camera().render()
- if __name__ == "__main__":
- ui = ViewerUI()
- ui.canvas.plotter.add(__doc__)
- ui.show()
|