# Options for Graphics

When *Mathematica* plots a graph for you, it has to make many choices. It has to work out what the scales should be, where the function should be sampled, how the axes should be drawn, and so on. Most of the time, *Mathematica* will probably make pretty good choices. However, if you want to get the very best possible pictures for your particular purposes, you may have to help *Mathematica* in making some of its choices.

There is a general mechanism for specifying "options" in *Mathematica* functions. Each option has a definite name. As the last arguments to a function like Plot, you can include a sequence of rules of the form , to specify the values for various options. Any option for which you do not give an explicit rule is taken to have its "default" value.

Plot[f,{x,x_{min},x_{max}},option->value] | make a plot, specifying a particular value for an option |

Choosing an option for a plot.

A function like Plot has many options that you can set. Usually you will need to use at most a few of them at a time. If you want to optimize a particular plot, you will probably do best to experiment, trying a sequence of different settings for various options.

Each time you produce a plot, you can specify options for it. "Redrawing and Combining Plots" will also discuss how you can change some of the options, even after you have produced the plot.

option name | default value | |

AspectRatio | 1/GoldenRatio | the height-to-width ratio for the plot; Automatic sets it from the absolute and coordinates |

Axes | True | whether to include axes |

AxesLabel | None | labels to be put on the axes; ylabel specifies a label for the axis, for both axes |

AxesOrigin | Automatic | the point at which axes cross |

BaseStyle | {} | the default style to use for the plot |

FormatType | TraditionalForm | the default format type to use for text in the plot |

Frame | False | whether to draw a frame around the plot |

FrameLabel | None | labels to be put around the frame; give a list in clockwise order starting with the lower axis |

FrameTicks | Automatic | what tick marks to draw if there is a frame; None gives no tick marks |

GridLines | None | what grid lines to include; Automatic includes a grid line for every major tick mark |

PlotLabel | None | an expression to be printed as a label for the plot |

PlotRange | Automatic | the range of coordinates to include in the plot; All includes all points |

Ticks | Automatic | what tick marks to draw if there are axes; None gives no tick marks |

Some of the options for Plot. These can also be used in Show.

In[1]:= |

Out[1]= |

In[2]:= |

Out[2]= |

*Mathematica*output. You can give any piece of text by putting it inside a pair of double quotes.

In[3]:= |

Out[3]= |

In[4]:= |

Out[4]= |

In[5]:= |

Out[5]= |

Automatic | use internal algorithms |

None | do not include this |

All | include everything |

True | do this |

False | do not do this |

Some common settings for various options.

When *Mathematica* makes a plot, it tries to set the and scales to include only the "interesting" parts of the plot. If your function increases very rapidly, or has singularities, the parts where it gets too large will be cut off. By specifying the option PlotRange, you can control exactly what ranges of and coordinates are included in your plot.

Automatic | show at least a large fraction of the points, including the "interesting" region (the default setting) |

All | show all points |

{y_{min},y_{max}} | show a specific range of values |

{xrange,yrange} | show the specified ranges of and values |

Settings for the option PlotRange.

In[6]:= |

Out[6]= |

*Mathematica* always tries to plot functions as smooth curves. As a result, in places where your function wiggles a lot, *Mathematica* will use more points. In general, *Mathematica* tries to *adapt* its sampling of your function to the form of the function. There is a limit, however, which you can set, to how finely *Mathematica* will ever sample a function.

*Mathematica*tries to sample more points in the region where the function wiggles a lot, but it can never sample the infinite number that you would need to reproduce the function exactly. As a result, there are slight glitches in the plot.

In[7]:= |

Out[7]= |

It is important to realize that since *Mathematica* can only sample your function at a limited number of points, it can always miss features of the function. *Mathematica* adaptively samples the functions, increasing the number of samples near interesting features, but it is still possible to miss something. By increasing PlotPoints, you can make *Mathematica* sample your function at a larger number of points. Of course, the larger you set PlotPoints to be, the longer it will take *Mathematica* to plot *any* function, even a smooth one.

option name | default value | |

PlotStyle | Automatic | a list of lists of graphics primitives to use for each curve (see "Graphics Directives and Options") |

ClippingStyle | None | what to draw when curves are clipped |

Filling | None | filling to insert under each curve |

FillingStyle | Automatic | style to use for filling |

PlotPoints | 50 | the initial number of points at which to sample the function |

MaxRecursion | Automatic | the maximum number of recursive subdivisions allowed |

More options for Plot. These cannot be used in Show.

In[8]:= |

Out[8]= |

In[9]:= |

Out[9]= |

In[10]:= |

Out[10]= |

In[11]:= |

Out[11]= |

In[12]:= |

Out[12]= |

In[13]:= |

Out[13]= |

In[14]:= |

Out[14]= |

In[15]:= |

Out[15]= |

In[16]:= |

Out[16]= |

In[17]:= |

Out[17]= |