Plotting math functions (Python)

vegaseat

VPython's fame is with 3D animated modeling, but it's plotting abilities, while not flashy, are easy to understand and very useful. This program uses VPython to plot math functions y = sin(x) and y = cos(x) and y = sin(x)*cos(x).

280 Views
About the Author

Scientist

# simple plotting with VPython from http://vpython.org
# for the Windows version and Python24 download: VPython-Win-Py2.4-3.2.3b.exe
# tested with Python24    vegaseat    01sep2005

str1 = "blue is sin(x), red is cos(x), green is sin(x)*cos(x)"

import visual.graph as vg

# set up the plot display, if xmax,xmin,ymax,ymin are not specified then default is autoscale
graph1 = vg.gdisplay(x=0, y=0, width=600, height=350, title = str1, xtitle='x', ytitle='y',
          xmax=5.0, xmin=-5.0, ymax=1.1, ymin=-1.1, foreground=vg.color.black, background=vg.color.white)

# gcurve() draws a line
y1 = vg.gcurve(color=vg.color.blue)
y2 = vg.gcurve(color=vg.color.red)
y3 = vg.gcurve(color=vg.color.green)

# arange() is like range() with floating point values
for x in vg.arange(-5, 5, 0.1):
    y1.plot( pos=(x, vg.sin(x)) )
    y2.plot( pos=(x, vg.cos(x)) )
    y3.plot( pos=(x, vg.sin(x)*vg.cos(x)) )