Plotting math functions (Python)

vegaseat 2 Tallied Votes 300 Views Share

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).

# 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)) )