Difference between revisions of "Gnuplot"
(→basic plotting) |
(→basic plotting) |
||
Line 15: | Line 15: | ||
[[File:gnuplot_tutorial_pic_001.png|400px]] | [[File:gnuplot_tutorial_pic_001.png|400px]] | ||
− | Note that <code>x</code> is a special Multiple functions can be plotted on the same graph, just separate each with a comma | + | Note that <code>x</code> is a special variable that gnuplot reconizes as the dependent variable. Multiple functions can be plotted on the same graph, just separate each with a comma |
gnuplot> plot sin(x), cos(x) | gnuplot> plot sin(x), cos(x) | ||
Line 25: | Line 25: | ||
gnuplot> set title "Sine and Cosine" | gnuplot> set title "Sine and Cosine" | ||
− | Notice that the graph does not change after you set the title option. | + | Notice that the graph does not change after you set the title option. gnuplot will not redraw the graph until we either issue another <code>plot</code> command, or tell it to ''replot'' what we previously plotted with the ...<code>replot</code> command. |
gnuplot> replot # redraw the previous plot with new options | gnuplot> replot # redraw the previous plot with new options | ||
Line 54: | Line 54: | ||
gnuplot> set autoscale x # autoscale the x axis | gnuplot> set autoscale x # autoscale the x axis | ||
gnuplot> set autoscale y # autoscale the y axis | gnuplot> set autoscale y # autoscale the y axis | ||
+ | |||
+ | gnuplot allows aritrarly complex functions to be plotted. These can either be built directly in the <code>plot</code> command, | ||
+ | |||
+ | gnuplot> plot sin(x) + cos(2*x) + 3*sin(4*x) | ||
+ | |||
+ | ====plotting data from a file==== | ||
==Creating Pictures== | ==Creating Pictures== | ||
==Gnuplot Scripts== | ==Gnuplot Scripts== |
Revision as of 19:26, 12 March 2012
Gnuplot is a terminal based plotting application. This means that you interact with gnuplot by typing commands at a prompt. This turns out to be very convenient, because it means that you can always save or create a gnuplot configuration into a plain text file.
Contents
Plotting
gnuplot is a program created to plot stuff. You can plot functions or data. There are two commands for plotting, plot
and splot
. plot
is used to plot 2D functions while splot
is used to plot 3D functions.
basic plotting
The plot
command has the following form
gnuplot> plot [ function | 'filename' ] [ modifiers ]
gnuplot has great support for all common (and many uncommon) functions. For example, to plot sin(x),
gnuplot> plot sin(x)
Note that x
is a special variable that gnuplot reconizes as the dependent variable. Multiple functions can be plotted on the same graph, just separate each with a comma
gnuplot> plot sin(x), cos(x)
We control the what and how our plot is displayed by setting options. Options are set with the set
command. For example, to set the graph title, we set the title
option to a string containing the title.
gnuplot> set title "Sine and Cosine"
Notice that the graph does not change after you set the title option. gnuplot will not redraw the graph until we either issue another plot
command, or tell it to replot what we previously plotted with the ...replot
command.
gnuplot> replot # redraw the previous plot with new options
Other important options include xlabel
(the x-axis label), ylabel
(the y-axis label) and key
(sets the position of the legend). The legend is located in the top-right corner of the graph by default, which is in the way in the example above. To label the axis and move the key,
gnuplot> set xlabel "time (s)" gnuplot> set ylabel "current (A)" gnuplot> set key top left
By default, gnuplot will "autoscale" the y axis (when plotting data from a file, the x axis is autoscaled too). To set the x and y axis ranges, set the xrange
and yrange
options.
gnuplot> xrange[0:10] gnuplot> yrange[-2:2]
Autoscaling can always be re-enabled by setting the autoscale
option
gnuplot> set autoscale
or, to enable autoscaling for the x or y axis individually,
gnuplot> set autoscale x # autoscale the x axis gnuplot> set autoscale y # autoscale the y axis
gnuplot allows aritrarly complex functions to be plotted. These can either be built directly in the plot
command,
gnuplot> plot sin(x) + cos(2*x) + 3*sin(4*x)