File: plot_empty.py

package info (click to toggle)
vedo 2025.5.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 10,404 kB
  • sloc: python: 64,792; javascript: 1,932; xml: 437; sh: 139; makefile: 6
file content (37 lines) | stat: -rw-r--r-- 1,049 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
"""Create an empty Figure to be filled in a loop
Any 3D Mesh object can be added to the figure!"""
from vedo import *
from vedo.pyplot import plot, Figure

settings.default_font = "Cartoons123"
settings.palette = 2
settings.remember_last_figure_format = True

# Create an empty Figure and plot on it
fig = Figure(
    xlim=(0,12),
    ylim=(-1.5, 1.5),
    padding=0,    # no extra space
    aspect=16/9,  # desired aspect ratio
    xtitle="speed [mph]",
    grid=True,
    axes=dict(axes_linewidth=3, xyframe_line=3),
)

for i in range(2,11,2):
    x = np.linspace(0, 4*np.pi, 20)
    y = np.sin(x) * np.sin(x/12) * i/5

    fig += plot(x, y, '-0', c=i, splined=True)

fig += Arrow([5,-1], [8,-1], s=0.5, c='green3')

# Add any number of polygonal Meshes.
# Use insert() to preserve the object aspect ratio inside the Figure coord system:
mesh = Mesh(dataurl+'cessna.vtk').c('blue5').scale(0.25).pos(4, 0.5, 0.5)
circle = Circle([5,0.5,-0.1], r=0.5, c='orange5')
fig.insert(mesh, circle)

show(fig, __doc__, size=(800,700), zoom='tight').close()