123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import numpy as np
- from vedo import Plotter, Points, Image, settings
- from vedo.pyplot import histogram, plot
- import matplotlib.pyplot as plt
- def func(w, evt=""):
- d = data[data > w.value]
- if len(d) == 0:
- return
- ############################################# Vedo Plot
- xy = plot(
- d,
- 1 + np.sin(d),
- c="purple4",
- lw=0,
- alpha=0.75,
- aspect=16 / 9,
- title="Vedo Plot of 1+sin(z) vs z",
- xtitle="independent variable",
- ytitle="dependent variable",
- )
- xy = xy.clone2d("top-right", size=0.7, ontop=False)
- xy.name = "myplots"
- ############################################# Vedo Histogram
- hi = histogram(
- d,
- c="orange4",
- alpha=1,
- aspect=16 / 9,
- title="Vedo Histogram",
- xtitle="stochastic variable",
- ytitle="frequency",
- label="my histogram",
- mc="red5",
- )
- hi.add_legend(s=1.2, alpha=0.1)
- hi = hi.clone2d("bottom-right", size=0.7, ontop=True)
- hi.name = "myplots"
- ############################################# Matplotlib histogram
- fig.clf() # clear the figure
- plt.hist(1-d*d, bins=20, color="green", edgecolor="black")
- img = Image(fig).clone2d("middle-left", size=0.4)
- img.name = "myplots"
- vplt.remove("myplots").add(xy, hi, img)
- #############################################################
- settings.default_font = "Roboto"
- fig = plt.figure(figsize=(8, 6)) # create a matplotlib figure
- msh = Points(np.random.randn(1000, 3)).ps(5).c("blue5")
- data = msh.points[:, 2]
- vplt = Plotter(bg="w", bg2="green9", size=(900, 900))
- slider = vplt.add_slider(
- func,
- xmin=-1,
- xmax=1,
- value=0,
- title="slider",
- pos=1,
- # delayed=True, # update only when the slider is released
- )
- vplt.show(msh)
- vplt.close()
|