```#Graphing

#Standard Coordinates

# Maple can construct many kinds of graphs, a feature that you can use to
# visualize mathematical objects and processes. The command

plot( sin(3*x), x = -Pi..Pi );

# produces a plot containing the curve

#                          y = sin(3 x)

# for x in the interval from -Pi to Pi. No space is allowed between the
# double-dots in a plot command. Scales on the x-axis and y-axis are
# chosen in the maple engine.  To change this behavior:

plot( sin(3*x), x = -Pi..Pi, scaling = constrained );

# Sometimes it is useful to restrict the range over which y varies.  We
# get a misleading graph from

plot( tan(x), x = -5..5 );

# It does not accurately represent the vertical asymptotes of y = tan(x).
# Better results are obtained with

plot( tan(x), x = -5..5, y = -5..5 );

# We can plot several curves at once.  To plot y = sin(x) and y = sin(3
# x) together we code

plot( { sin(x), sin(3*x) }, x = -Pi..Pi );
# The curve equations are inside set-delimiters of curly braces

plot(1+x^2,x=0.1 .. 0.8);
# Decimal points can conflict with double-dot range parsing
# [compare x=.1...8]

# Now the first argument of plot is a set of expressions to be graphed.
# Sets are enclosed in curly braces and individual items are separated by
# commas.

# We could also use the display command found in the plots package:

with(plots):
plot1 := plot( x^2, x = 0..4 ): # Don't display plot data, use colon
plot2 := plot( 3*x^2 - 2, x = 0..4 ):
display( [ plot1, plot2 ] );

#Parametric Equations
# A curve in the plane can be described as the graph of a function, as in
# the graph of
#                           1     /     2\
#                       y = - sqrt\4 - x /
#                           2
# for x in the interval from -1 to 1. It can be given parametrically as
#
#               (x(t), y(t)) = (2 cos(t), sin(t))
#
# for t in the interval from 0 to Pi. Often we interpret such a curve as
# the path traced by a moving particle at time t . Use the plot command
# to draw a curve from this parametric description:

plot( [2*cos(t), sin(t), t = 0..Pi] );
# unconstrained, distorted graphic
plot( [2*cos(t), sin(t), t = 0..Pi], scaling = constrained);
# constrained is not distorted

#Polar Coordinates

# Polar plots are a special kind of parametric plot.  The polar
# coordinates ( r, theta ) of points on a curve can be given as a
# function of some parameter t. In many cases the parameter is just the
# angle theta. Consider the ellipse defined in standard coordinates by
#
#                         x^2  + 4 y^2  = 4
#
# To find an equation relating the polar coordinates r and theta of a
# typical point on this ellipse, we make the substitution x = r cos(t)
# and y = r sin(t), where t = theta.

subs( x = r*cos(t), y = r*sin(t), x^2 + 4*y^2 = 4);
simplify( % );
solve( %, r );

# We find that the ellipse is the collection of points whose polar
# coordinates ( r, theta ) satisfy
#
#                      2           4
#                     r  = -----------------,
#                                          2
#                          4 - 3 cos(theta)
#
# and the following commands draw the right half of the ellipse:

r := 2/sqrt( 4 - 3*cos(t)^2 ):
plot( [ r, t, t = -Pi/2..Pi/2 ], coords = polar );

# Here are some more of examples of polar plots that you can try:

plot( [ 1, t, t = 0..2*Pi], coords=polar ):
plot( [t, t, t = 0..2*Pi], coords=polar ):
plot( [ sin(4*t), t, t = 0..2*Pi], coords=polar ):
# a more realistic picture is obtained with scaling = constrained.

#Plotting Data

# Maple can plot data consisting of pairs of x and y values.  For
# example,

data := [ [0, 0.53], [1, 1.14], [2, 1.84], [3, 4.12] ];

# defines data as a sequence of five points, ( x, y ) = (0, 0.53), etc.
# The result is a double list: something enclosed in square brackets,
# with comma-separatd elements in square brackets. Lists are used for
# collections of objects where the order matters.

data[1]; data[2]; data[3]; data[4];
# Individual items are accessed this way
data[3][2];
# To access the second coordinate of the third data point

# To plot the points in a double-list we use commands like

plot( data, style = point, symbol = circle, color = black);
plot( data, style = line, view = [0..4, 0..5] );
plot( data, style = line, title = "Experiment 1" ):

# Here the double quote is used to specify a plot title string.  See