<html> <head> <title>Gri: plotting several columns</title> </head> <body bgcolor="#FFFFFF" text="#000000" link="#0000EE" vlink="#551A8B" alink="FF0000"> <!-- newfile PlottingSeveralColumns.html "Gri: plotting several columns" "Examples" --> <!-- @node Plotting Several Columns, Commands, Combining Columns, Handling Data --> <a name="PlottingSeveralColumns" ></a> <img src="./resources/top_banner.gif" usemap="#navigate_top" border="0"> <table summary="top banner" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="150" valign="top"> <font size=-1> <br> Chapters: </br> <a href="Introduction.html">1: Introduction</a><br> <a href="SimpleExample.html">2: Simple example</a><br> <a href="InvokingGri.html">3: Invocation</a><br> <a href="GettingMoreControl.html">4: Finer Control</a><br> <a href="X-Y.html">5: X-Y Plots</a><br> <a href="ContourPlots.html">6: Contour Plots</a><br> <a href="Images.html">7: Image Plots</a><br> <a href="Examples.html">8: Examples</a><br> <a href="Commands.html">9: Gri Commands</a><br> <a href="Programming.html">10: Programming</a><br> <a href="Environment.html">11: Environment</a><br> <a href="Emacs.html">12: Emacs Mode</a><br> <a href="History.html">13: History</a><br> <a href="Installation.html">14: Installation</a><br> <a href="Bugs.html">15: Gri Bugs</a><br> <a href="TestSuite.html">16: Test Suite</a><br> <a href="Acknowledgments.html">17: Acknowledgments</a><br> <a href="License.html">18: License</a><br> <br> Indices:</br> <a href="ConceptIndex.html"><i>Concepts</i></a><br> <a href="CommandIndex.html"><i>Commands</i></a><br> <a href="BuiltinIndex.html"><i>Variables</i></a><br> </font> <td width="500" valign="top"> <map name="navigate_top"> <area alt="index.html#Top" shape="rect" coords="5,2,218,24" href="index.html#Top"> <area alt="HandlingData.html#HandlingData" shape="rect" coords="516,2,532,24" href="HandlingData.html#HandlingData"> <area alt="Gri: combining columns" shape="rect" coords="557,2,573,24" href="CombiningColumns.html"> <area alt="Gri: complete list of commands" shape="rect" coords="581,2,599,24" href="Commands.html"> </map> <map name="navigate_bottom"> <area alt="index.html#Top" shape="rect" coords="5,2,218,24" href="index.html#Top"> <area alt="Gri: complete list of commands" shape="rect" coords="581,2,599,24" href="Commands.html"></map> <h3>8.12.5: Plotting several y-columns versus on x-column</h3> Sometimes you'll have a datafile with the first column being x, and the other columns being various things to plot versus x. For example, you might have the data <p> <TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%"> <TR> <TD> <PRE> <font color="#82140F"> 1 8 11 9 2 22 21 20 3 11 10 9 4 20 15 10 </font></PRE> </TD> </TR> </TABLE> <p> in a file called `<font color="#82140F"><code>test.dat</code></font>'. Let's say the x-column is time, and the y-columns are the readings from three temperature sensors. The following illustrates how you might plot these data. If you think the new-command which starts this script is useful, just insert it in your `<font color="#82140F"><samp>~/.grirc</samp></font>' file and you can just use it without re-defining it each time. This will give Gri a command called `<font color="#82140F"><code>draw curves</code></font>'. <p> <TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%"> <TR> <TD> <PRE> <font color="#82140F"> `draw curves \xname \y1name ...' Draw multiple y columns versus an x column. Assumes that the datafile is open, and that x is in the first column, with the y values in one or more following columns. <p> The number of columns is figured out from the options, as is the name of the x-axis, and the labels to be used on each of the y curves. { # NB. the 3 below lets us skip the words 'draw' # and 'curves', and the name of the x-column. .num_of_y_columns. = {rpn wordc 3 -} if {rpn .num_of_y_columns. 1 >} show "ERROR: `draw curves' needs at least 1 y column!" quit end if <p> set x name {rpn 2 wordv} set y name "" <p> # Loop through the columns. .col. = 0 while {rpn .num_of_y_columns. .col. <} # The x-values will be in column 1, with y-values # in columns 2, 3, ..., of the file. .ycol. = {rpn .col. 2 +} rewind read columns x=1 y=.ycol. # At this point, you may want to change line thickness, # thickness, color, dash-type, etc. For illustration, # let's set dash type to the column number. set dash .col. draw curve draw label for last curve {rpn .col. 3 + wordv} .col. += 1 end while } <p> open test.dat draw curves time y1 y2 y3 </font></PRE> </TD> </TR> </TABLE> <p> </table> <img src="./resources/bottom_banner.gif" usemap="#navigate_bottom" border="0"> </body> </html>