Click on Apply to perform the operation. The resultant set will be the expression evaluated only on points contained in the specified region. Thus, if no expression was specified, the effect is to produce a new set of only those points contained in the region. Conversely, to delete points in a region, leave the expression empty, and negate the region selection.

8. Using Pipes

Pipes are a way of capturing the output of a running process without the intermediary step of pacing the output in a file. Instead, the executing program puts the data in one end of the pipe, and Grace reads it from the other end of the pipe.

8.1 Instead of data files

On certain popups, e.g. Main:Data/Import/ASCII, the option to read from a file or pipe can be specified. If a pipe is chosen, the command in the selection widget will be run and the stdout will be captured and treated as though it was data which was read from a file.

8.2 Named pipes

A named pipe is a special case of the pipe previously described. In the previous case, after the program has finished execution and the output had been read, the pipe was destroyed. A named pipe is a static structure with the property that multiple processes can write to and/or read from it. The purpose of using a named pipe with Grace is to start up a Grace window and then control Grace by sending commands and data through a named pipe. This is very powerful and lets you do practically anything you can do directly from the GUI. To use this feature, try the following:

  1. Start a named pipe (you will have to find the command specific to your operating system. For example, it could be mkfifo or mknod): mkfifo pvc. If you do a directory listing, you should see the file pvc.
  2. Start up Grace in the background using the named pipe option: xmgrace -npipepvc&. Grace is now monitoring the pipe for any data which might be sent to it. It will interpret things as though they were entered using the command interpreter.
  3. For a simple test, we will create a simple graph over the pipe. From your command line, type: echo "read \"8.2.dat\"" > pvc. (The back slashes are needed to escape the quotation marks so that Grace really received the command :read "8.2.dat".) This just told Grace to read the file data. Now we would like to autoscale. We could simply click on the button but the point is to use a named pipe. This time we type echo autoscale > pvc followed by echo redraw > pvc. Your graph should now have autoscaled and redrawn. Exit Grace with echo exit > pvc. You should also clean up by removing pvc.
  4. The true power in named pipes lies in driving Grace using another program. The controlling program can open a named pipe for writing, which is treated as an ordinary file. It can be opened with the fopen() function or whatever other I/O function you prefer. Commands and data are then written to the file where they are interpreted by Grace.

9. Multiple Graphs

9.1 Selecting graphs

When multiple graphs are present, a graph is selected by clicking inside the graph frame. In cases where graph frames overlap, clicking will cycle among the overlapping graphs.

It might be annoying if one is trying to work in a region of overlapping graphs. If will not be possible to double click on something because the each click will be interpreted as a single click and you will only end up changing the graph focus. In such an instance, turning off the graph selection by clicking might be desirable. Choose Main:Edit/Preferences and then set Misc:Graph_focus to "As set". This means one must explicitly set the focus. Simply bring up a graph list (eg. Main:Edit/Overlay_graphs is but one), select the graph you want to work on and then, using the menu under mouse button 3, choose "Focus to".

Arranging a tableau of graphs

Placing a large number of regularly spaced graphs is easily done with Main:Edit/Arrange_graphs. This will automatically calculate the layout:

  1. Choose 3 rows and 3 columns and Apply. You should now see 9 graphs. The Order button refers to the way the graphs are numbered. The beginning of the line on the diagram of the button shows which graph is numbered 0 and how the numbers increase, by row or column.
  2. You realize you need horizontal packing, i.e. no horizontal gap between graphs. Click on the Pack button beside the Hgap/width input and then Apply.
  3. Suddenly, you realize you only need 6 graphs and not 9. Choose 2 rows and press Apply. There is a slight problem as graphs 6, 7 an 8 are still visible. This is a feature since you don't want to accidentally kill a graph. You can kill the extra graphs by clicking on the "Kill extra graphs" check box. Now, any graphs other than the explicitly arranged ones will be automatically killed.
  4. The margins are controlled by the Page Offsets, and the intergraph spacing by the Hgap and Vgap inputs.
  5. Press close to remove the window.

Note that only graphs which are selected are taken into consideration. So, if you wish to reorganize your existing graphs, make sure they are selected or new ones may be created.

Arranging individual graphs

Arranging individual graphs may either be done (1) exactly, by specifying the viewport coordinates from Main:Plot/Graph_appearance or using the previously explained Arrange graphs popup, or (2) roughly, by double clicking a graph focus marker and then moving it.

9.2 Overlaying Graphs

Overlaying one graph onto another is useful for creating a graph with two different x axes and/or y axes. For example, you may wish to have a graph which on the x axis has the month of the year. There could be 2 curves on it, one using the left y axis which is number of gnus sold and one using the right y-axis which is the number of gnats exported on a logarithmic scale. Likewise, if one is plotting spectral data, one could have one x axis in Hz and another one in wavelength. Let's proceed with an example:data

  1. Begin by selecting Main:Edit/Overlay graphs to bring up the Overlay widget.
  2. Select the graph numbers with which we would like to deal. In this example, we will overlay graph 1 onto graph 0. At this point, only graph 0 is visible. We cannot see Graph 1 to select since it does not exist at this point. We need to create simply by pressing mouse button 3 in a graph list window and selecting create new.
  3. The overlay type is determined by what is common among the overlayed graphs. In our example, the x axis is common so we will select X-axes same, Y-axes different. This is important because we don't want to alter any axes of the Overlay graph which we set the same as the underlay graph. In this example, we don't want to alter the x-axis of graph 1.
  4. We are now ready to label the graph axes and read the data. One thing we must be careful to do is to always make sure that we are working on the intended graph. Seeing as the graphs are overlain, clicking within the frame is ambiguous as to what graph is selected. The rule is that in a region of overlay, clicking will cycle between the graphs. Hence, if graph 1 is selecting, clicking within the frame will toggle to graph 0.
  5. Making sure that graph 0 is active, bring up the Axis properties widget. Now set the y axis title to Gnus.
  6. Select graph 1 as active as set the title as Gnats. Notice how it overlaps the Gnus. We want to put this on the right side. From the axis label and bar tab, select label Properties/Side=Opposite.
  7. Label the x axis to label it. If graph 1 is the current graph, noticed how it is greyed out because only 1 x axis need be active. Select graph 0 and you should now be able to alter the axis label.
  8. You are ready to read in data. Just make sure the graph that is active when you read in the data (or create your set) is the one in which you intend it to go.

10. Hot Links

Hot links are a way of of updating a set without having to delete it first and then reread it. The Hot Links window is opened available under Main:Data/Hot links.

10.1 File containing a Single Set

The simplest hot link is to a file containing just one set. To make a hot link to a single set, we must first select the set we want to get updated and then specify the file. We may also link to a pipe in which case we must specify it is a pipe to which we are linking. A command may also be entered which will be run every time the hot link is updated. A common command might be autoscale which will make sure that the entire set can be seen if it changes size. It's possible you may want to execute more commands than one. One could, for example, have a set that is a function of 2 sets that needs to be recomputed if either set is updated. If this is the case, put your commands in a file and then use the "READ BATCH" command.

Pressing the Link button will now create the link and if the update button is pressed, the set will be updated with the current contents of the file you linked and the contents of the Command widget will be executed.

For a simple example, read in the set 10.1.dat and set up the hot link. Now, run the command shiftdata.sh and update the hotlink. You should have seen the peak in the graph shift. Try repeating this a couple of more times.

10.2 Multiple sets within a file

Sometimes a data file may contain multiple columns of data and we would like to be able to link to all or some of those columns. To specify this, select as many sets as there are xy columns of data in the file. The "x y1 y2" format is assumed. Choose the file the data and link. Now in the link list, the links will show the file name with an appended colon and number. The number tells what column of data the link refers to. Any unwanted columns may be selected and unlinked at this point. When the update button is selected, all sets in the graph will be updated.

10.3 Updating by hot keys

Instead of having to keep the Hot links window open all the time, the update action is bound to alt-u. If you find that alt-u has no effect, try double clicking inside the graph you want to update and close the window that pops up. This will "alert" the canvas to process future hot key strokes.

./usr/share/doc/grace/7.1.2.agr.gz0000644000000000000000000000626706671062261015252 0ustar rootrootYێ} H6``@;oJK/GT(խ 4ػê[թ謹SSXmڮyf82Bi_oTV4]W?]z̏]Re[<|zզ+QڗwR>T3XwA . }L@UD'Fί6 ~|6h(L7xC/6C~; b)m{fxFZXws:_>2>=7;Vͷn<cPS5vtz8E}0⾩kY}xmAp@L8",IN΄S<*©""L8".iNOmE_fWmdC_y-A*nHQZbJ[ K}ͮwSe?Vӷ8|z{iwUa*L1V!b}rv%JmsZ+HbK{\)?|O-4|y-<@#^E3V55:N;ow/Ή5K+bC<KRfshԫh#RY5ʅ]f|#~lf3cW$Px]c뱟qΑD=Wؿn1OW df'/N]eQW'_\G< tgdm-_:tkfjv8VZ>? mnQ.";-.>ևfULjE'Ƽ6v[9+vBZw|)$KR%h.9.>zP3VִGOٚouD6Y粉9:yQ,?Aƭ9[Pp \8\#p\\\\\7ff(Hn< })רi1 ;?B$ZX'Z9Eku|#a FyIKbEU<< k8M{C%' 5ŭEP:2Y)&(Icd`t|!K!"m Cxڈkc+ZV Kfďu*i~LJxȩ^ѳ kѵ`!QDN~0=~#ZB.Y#(Сbo)'5c`^"2R60u4OS:` NKO u`/OY׉T1q&((VsW$!=9(,upV6" H~H\B9`As`{Jҹ2ku U3(Ё.ry -.xIHA3+.a+J2H֧%֌cS*XCGqI@Y6L8A,Q\ h#e%" @aL/ S+")%Fx Ts$b(8DnW uleJ2zh$50A(,UVal恑/*N~RJL9'}:! ³ڗc 0 Szek0Gk_Iy!5Eՙ4*N^483gN{xsL IA8^S+2@p8h5t\YI+B9Z ;0XϕՀga V%/ urv!\Y.Rxՠw\-Z"˕(c 0RP`/gtxe3zCkR޷4odnyE bz !:΂8Ж5vPLb> BX gi5h̨@oyI*fל*ՠ( !VN_-/ ҸX f4mbpIZN"ՀS$zAA8얇*7B,AAV0*VUأ x3PeO5./usr/share/doc/grace/UsersGuide.html0000644000000000000000000046306111015105576016432 0ustar rootroot

Click on Apply to perform the operation. The resultant set will be the expression evaluated only on points contained in the specified region. Thus, if no expression was specified, the effect is to produce a new set of only those points contained in the region. Conversely, to delete points in a region, leave the expression empty, and negate the region selection.

8. Using Pipes

Pipes are a way of capturing the output of a running process without the intermediary step of pacing the output in a file. Instead, the executing program puts the data in one end of the pipe, and Grace reads it from the other end of the pipe.

8.1 Instead of data files

On certain popups, e.g. Main:Data/Import/ASCII, the option to read from a file or pipe can be specified. If a pipe is chosen, the command in the selection widget will be run and the stdout will be captured and treated as though it was data which was read from a file.

8.2 Named pipes

A named pipe is a special case of the pipe previously described. In the previous case, after the program has finished execution and the output had been read, the pipe was destroyed. A named pipe is a static structure with the property that multiple processes can write to and/or read from it. The purpose of using a named pipe with Grace is to start up a Grace window and then control Grace by sending commands and data through a named pipe. This is very powerful and lets you do practically anything you can do directly from the GUI. To use this feature, try the following:

  1. Start a named pipe (you will have to find the command specific to your operating system. For example, it could be mkfifo or mknod): mkfifo pvc. If you do a directory listing, you should see the file pvc.
  2. Start up Grace in the background using the named pipe option: xmgrace -npipepvc&. Grace is now monitoring the pipe for any data which might be sent to it. It will interpret things as though they were entered using the command interpreter.
  3. For a simple test, we will create a simple graph over the pipe. From your command line, type: echo "read \"8.2.dat\"" > pvc. (The back slashes are needed to escape the quotation marks so that Grace really received the command :read "8.2.dat".) This just told Grace to read the file data. Now we would like to autoscale. We could simply click on the button but the point is to use a named pipe. This time we type echo autoscale > pvc followed by echo redraw > pvc. Your graph should now have autoscaled and redrawn. Exit Grace with echo exit > pvc. You should also clean up by removing pvc.
  4. The true power in named pipes lies in driving Grace using another program. The controlling program can open a named pipe for writing, which is treated as an ordinary file. It can be opened with the fopen() function or whatever other I/O function you prefer. Commands and data are then written to the file where they are interpreted by Grace.

9. Multiple Graphs

9.1 Selecting graphs

When multiple graphs are present, a graph is selected by clicking inside the graph frame. In cases where graph frames overlap, clicking will cycle among the overlapping graphs.

It might be annoying if one is trying to work in a region of overlapping graphs. If will not be possible to double click on something because the each click will be interpreted as a single click and you will only end up changing the graph focus. In such an instance, turning off the graph selection by clicking might be desirable. Choose Main:Edit/Preferences and then set Misc:Graph_focus to "As set". This means one must explicitly set the focus. Simply bring up a graph list (eg. Main:Edit/Overlay_graphs is but one), select the graph you want to work on and then, using the menu under mouse button 3, choose "Focus to".

Arranging a tableau of graphs

Placing a large number of regularly spaced graphs is easily done with Main:Edit/Arrange_graphs. This will automatically calculate the layout:

  1. Choose 3 rows and 3 columns and Apply. You should now see 9 graphs. The Order button refers to the way the graphs are numbered. The beginning of the line on the diagram of the button shows which graph is numbered 0 and how the numbers increase, by row or column.
  2. You realize you need horizontal packing, i.e. no horizontal gap between graphs. Click on the Pack button beside the Hgap/width input and then Apply.
  3. Suddenly, you realize you only need 6 graphs and not 9. Choose 2 rows and press Apply. There is a slight problem as graphs 6, 7 an 8 are still visible. This is a feature since you don't want to accidentally kill a graph. You can kill the extra graphs by clicking on the "Kill extra graphs" check box. Now, any graphs other than the explicitly arranged ones will be automatically killed.
  4. The margins are controlled by the Page Offsets, and the intergraph spacing by the Hgap and Vgap inputs.
  5. Press close to remove the window.

Note that only graphs which are selected are taken into consideration. So, if you wish to reorganize your existing graphs, make sure they are selected or new ones may be created.

Arranging individual graphs

Arranging individual graphs may either be done (1) exactly, by specifying the viewport coordinates from Main:Plot/Graph_appearance or using the previously explained Arrange graphs popup, or (2) roughly, by double clicking a graph focus marker and then moving it.

9.2 Overlaying Graphs

Overlaying one graph onto another is useful for creating a graph with two different x axes and/or y axes. For example, you may wish to have a graph which on the x axis has the month of the year. There could be 2 curves on it, one using the left y axis which is number of gnus sold and one using the right y-axis which is the number of gnats exported on a logarithmic scale. Likewise, if one is plotting spectral data, one could have one x axis in Hz and another one in wavelength. Let's proceed with an example:data

  1. Begin by selecting Main:Edit/Overlay graphs to bring up the Overlay widget.
  2. Select the graph numbers with which we would like to deal. In this example, we will overlay graph 1 onto graph 0. At this point, only graph 0 is visible. We cannot see Graph 1 to select since it does not exist at this point. We need to create simply by pressing mouse button 3 in a graph list window and selecting create new.
  3. The overlay type is determined by what is common among the overlayed graphs. In our example, the x axis is common so we will select X-axes same, Y-axes different. This is important because we don't want to alter any axes of the Overlay graph which we set the same as the underlay graph. In this example, we don't want to alter the x-axis of graph 1.
  4. We are now ready to label the graph axes and read the data. One thing we must be careful to do is to always make sure that we are working on the intended graph. Seeing as the graphs are overlain, clicking within the frame is ambiguous as to what graph is selected. The rule is that in a region of overlay, clicking will cycle between the graphs. Hence, if graph 1 is selecting, clicking within the frame will toggle to graph 0.
  5. Making sure that graph 0 is active, bring up the Axis properties widget. Now set the y axis title to Gnus.
  6. Select graph 1 as active as set the title as Gnats. Notice how it overlaps the Gnus. We want to put this on the right side. From the axis label and bar tab, select label Properties/Side=Opposite.
  7. Label the x axis to label it. If graph 1 is the current graph, noticed how it is greyed out because only 1 x axis need be active. Select graph 0 and you should now be able to alter the axis label.
  8. You are ready to read in data. Just make sure the graph that is active when you read in the data (or create your set) is the one in which you intend it to go.

10. Hot Links

Hot links are a way of of updating a set without having to delete it first and then reread it. The Hot Links window is opened available under Main:Data/Hot links.

10.1 File containing a Single Set

The simplest hot link is to a file containing just one set. To make a hot link to a single set, we must first select the set we want to get updated and then specify the file. We may also link to a pipe in which case we must specify it is a pipe to which we are linking. A command may also be entered which will be run every time the hot link is updated. A common command might be autoscale which will make sure that the entire set can be seen if it changes size. It's possible you may want to execute more commands than one. One could, for example, have a set that is a function of 2 sets that needs to be recomputed if either set is updated. If this is the case, put your commands in a file and then use the "READ BATCH" command.

Pressing the Link button will now create the link and if the update button is pressed, the set will be updated with the current contents of the file you linked and the contents of the Command widget will be executed.

For a simple example, read in the set 10.1.dat and set up the hot link. Now, run the command shiftdata.sh and update the hotlink. You should have seen the peak in the graph shift. Try repeating this a couple of more times.

10.2 Multiple sets within a file

Sometimes a data file may contain multiple columns of data and we would like to be able to link to all or some of those columns. To specify this, select as many sets as there are xy columns of data in the file. The "x y1 y2" format is assumed. Choose the file the data and link. Now in the link list, the links will show the file name with an appended colon and number. The number tells what column of data the link refers to. Any unwanted columns may be selected and unlinked at this point. When the update button is selected, all sets in the graph will be updated.

10.3 Updating by hot keys

Instead of having to keep the Hot links window open all the time, the update action is bound to alt-u. If you find that alt-u has no effect, try double clicking inside the graph you want to update and close the window that pops up. This will "alert" the canvas to process future hot key strokes.

./usr/share/doc/grace/7.1.2.agr.gz0000644000000000000000000000626706671062261015252 0ustar rootrootYێ} H6``@;oJK/GT(խ 4ػê[թ謹SSXmڮyf82Bi_oTV4]W?]z̏]Re[<|zզ+QڗwR>T3XwA . }L@UD'Fί6 ~|6h(L7xC/6C~; b)m{fxFZXws:_>2>=7;Vͷn<cPS5vtz8E}0⾩kY}xmAp@L8",IN΄S<*©""L8".iNOmE_fWmdC_y-A*nHQZbJ[ K}ͮwSe?Vӷ8|z{iwUa*L1V!b}rv%JmsZ+HbK{\)?|O-4|y-<@#^E3V55:N;ow/Ή5K+bC<KRfshԫh#RY5ʅ]f|#~lf3cW$Px]c뱟qΑD=Wؿn1OW df'/N]eQW'_\G< tgdm-_:tkfjv8VZ>? mnQ.";-.>ևfULjE'Ƽ6v[9+vBZw|)$KR%h.9.>zP3VִGOٚouD6Y粉9:yQ,?Aƭ9[Pp \8\#p\\\\\7ff(Hn< })רi1 ;?B$ZX'Z9Eku|#a FyIKbEU<< k8M{C%' 5ŭEP:2Y)&(Icd`t|!K!"m Cxڈkc+ZV Kfďu*i~LJxȩ^ѳ kѵ`!QDN~0=~#ZB.Y#(Сbo)'5c`^"2R60u4OS:` NKO u`/OY׉T1q&((VsW$!=9(,upV6" H~H\B9`As`{Jҹ2ku U3(Ё.ry -.xIHA3+.a+J2H֧%֌cS*XCGqI@Y6L8A,Q\ h#e%" @aL/ S+")%Fx Ts$b(8DnW uleJ2zh$50A(,UVal恑/*N~RJL9'}:! ³ڗc 0 Szek0Gk_Iy!5Eՙ4*N^483gN{xsL IA8^S+2@p8h5t\YI+B9Z ;0XϕՀga V%/ urv!\Y.Rxՠw\-Z"˕(c 0RP`/gtxe3zCkR޷4odnyE bz !:΂8Ж5vPLb> BX gi5h̨@oyI*fל*ՠ( !VN_-/ ҸX f4mbpIZN"ՀS$zAA8얇*7B,AAV0*VUأ x3PeO5./usr/share/doc/grace/UsersGuide.html0000644000000000000000000046306111015105576016432 0ustar rootroot

Click on Apply to perform the operation. The resultant set will be the expression evaluated only on points contained in the specified region. Thus, if no expression was specified, the effect is to produce a new set of only those points contained in the region. Conversely, to delete points in a region, leave the expression empty, and negate the region selection.

8. Using Pipes

Pipes are a way of capturing the output of a running process without the intermediary step of pacing the output in a file. Instead, the executing program puts the data in one end of the pipe, and Grace reads it from the other end of the pipe.

8.1 Instead of data files

On certain popups, e.g. Main:Data/Import/ASCII, the option to read from a file or pipe can be specified. If a pipe is chosen, the command in the selection widget will be run and the stdout will be captured and treated as though it was data which was read from a file.

8.2 Named pipes

A named pipe is a special case of the pipe previously described. In the previous case, after the program has finished execution and the output had been read, the pipe was destroyed. A named pipe is a static structure with the property that multiple processes can write to and/or read from it. The purpose of using a named pipe with Grace is to start up a Grace window and then control Grace by sending commands and data through a named pipe. This is very powerful and lets you do practically anything you can do directly from the GUI. To use this feature, try the following:

  1. Start a named pipe (you will have to find the command specific to your operating system. For example, it could be mkfifo or mknod): mkfifo pvc. If you do a directory listing, you should see the file pvc.
  2. Start up Grace in the background using the named pipe option: xmgrace -npipepvc&. Grace is now monitoring the pipe for any data which might be sent to it. It will interpret things as though they were entered using the command interpreter.
  3. For a simple test, we will create a simple graph over the pipe. From your command line, type: echo "read \"8.2.dat\"" > pvc. (The back slashes are needed to escape the quotation marks so that Grace really received the command :read "8.2.dat".) This just told Grace to read the file data. Now we would like to autoscale. We could simply click on the button but the point is to use a named pipe. This time we type echo autoscale > pvc followed by echo redraw > pvc. Your graph should now have autoscaled and redrawn. Exit Grace with echo exit > pvc. You should also clean up by removing pvc.
  4. The true power in named pipes lies in driving Grace using another program. The controlling program can open a named pipe for writing, which is treated as an ordinary file. It can be opened with the fopen() function or whatever other I/O function you prefer. Commands and data are then written to the file where they are interpreted by Grace.

9. Multiple Graphs

9.1 Selecting graphs

When multiple graphs are present, a graph is selected by clicking inside the graph frame. In cases where graph frames overlap, clicking will cycle among the overlapping graphs.

It might be annoying if one is trying to work in a region of overlapping graphs. If will not be possible to double click on something because the each click will be interpreted as a single click and you will only end up changing the graph focus. In such an instance, turning off the graph selection by clicking might be desirable. Choose Main:Edit/Preferences and then set Misc:Graph_focus to "As set". This means one must explicitly set the focus. Simply bring up a graph list (eg. Main:Edit/Overlay_graphs is but one), select the graph you want to work on and then, using the menu under mouse button 3, choose "Focus to".

Arranging a tableau of graphs

Placing a large number of regularly spaced graphs is easily done with Main:Edit/Arrange_graphs. This will automatically calculate the layout:

  1. Choose 3 rows and 3 columns and Apply. You should now see 9 graphs. The Order button refers to the way the graphs are numbered. The beginning of the line on the diagram of the button shows which graph is numbered 0 and how the numbers increase, by row or column.
  2. You realize you need horizontal packing, i.e. no horizontal gap between graphs. Click on the Pack button beside the Hgap/width input and then Apply.
  3. Suddenly, you realize you only need 6 graphs and not 9. Choose 2 rows and press Apply. There is a slight problem as graphs 6, 7 an 8 are still visible. This is a feature since you don't want to accidentally kill a graph. You can kill the extra graphs by clicking on the "Kill extra graphs" check box. Now, any graphs other than the explicitly arranged ones will be automatically killed.
  4. The margins are controlled by the Page Offsets, and the intergraph spacing by the Hgap and Vgap inputs.
  5. Press close to remove the window.

Note that only graphs which are selected are taken into consideration. So, if you wish to reorganize your existing graphs, make sure they are selected or new ones may be created.

Arranging individual graphs

Arranging individual graphs may either be done (1) exactly, by specifying the viewport coordinates from Main:Plot/Graph_appearance or using the previously explained Arrange graphs popup, or (2) roughly, by double clicking a graph focus marker and then moving it.

9.2 Overlaying Graphs

Overlaying one graph onto another is useful for creating a graph with two different x axes and/or y axes. For example, you may wish to have a graph which on the x axis has the month of the year. There could be 2 curves on it, one using the left y axis which is number of gnus sold and one using the right y-axis which is the number of gnats exported on a logarithmic scale. Likewise, if one is plotting spectral data, one could have one x axis in Hz and another one in wavelength. Let's proceed with an example:data

  1. Begin by selecting Main:Edit/Overlay graphs to bring up the Overlay widget.
  2. Select the graph numbers with which we would like to deal. In this example, we will overlay graph 1 onto graph 0. At this point, only graph 0 is visible. We cannot see Graph 1 to select since it does not exist at this point. We need to create simply by pressing mouse button 3 in a graph list window and selecting create new.
  3. The overlay type is determined by what is common among the overlayed graphs. In our example, the x axis is common so we will select X-axes same, Y-axes different. This is important because we don't want to alter any axes of the Overlay graph which we set the same as the underlay graph. In this example, we don't want to alter the x-axis of graph 1.
  4. We are now ready to label the graph axes and read the data. One thing we must be careful to do is to always make sure that we are working on the intended graph. Seeing as the graphs are overlain, clicking within the frame is ambiguous as to what graph is selected. The rule is that in a region of overlay, clicking will cycle between the graphs. Hence, if graph 1 is selecting, clicking within the frame will toggle to graph 0.
  5. Making sure that graph 0 is active, bring up the Axis properties widget. Now set the y axis title to Gnus.
  6. Select graph 1 as active as set the title as Gnats. Notice how it overlaps the Gnus. We want to put this on the right side. From the axis label and bar tab, select label Properties/Side=Opposite.
  7. Label the x axis to label it. If graph 1 is the current graph, noticed how it is greyed out because only 1 x axis need be active. Select graph 0 and you should now be able to alter the axis label.
  8. You are ready to read in data. Just make sure the graph that is active when you read in the data (or create your set) is the one in which you intend it to go.

10. Hot Links

Hot links are a way of of updating a set without having to delete it first and then reread it. The Hot Links window is opened available under Main:Data/Hot links.

10.1 File containing a Single Set

The simplest hot link is to a file containing just one set. To make a hot link to a single set, we must first select the set we want to get updated and then specify the file. We may also link to a pipe in which case we must specify it is a pipe to which we are linking. A command may also be entered which will be run every time the hot link is updated. A common command might be autoscale which will make sure that the entire set can be seen if it changes size. It's possible you may want to execute more commands than one. One could, for example, have a set that is a function of 2 sets that needs to be recomputed if either set is updated. If this is the case, put your commands in a file and then use the "READ BATCH" command.

Pressing the Link button will now create the link and if the update button is pressed, the set will be updated with the current contents of the file you linked and the contents of the Command widget will be executed.

For a simple example, read in the set 10.1.dat and set up the hot link. Now, run the command shiftdata.sh and update the hotlink. You should have seen the peak in the graph shift. Try repeating this a couple of more times.

10.2 Multiple sets within a file

Sometimes a data file may contain multiple columns of data and we would like to be able to link to all or some of those columns. To specify this, select as many sets as there are xy columns of data in the file. The "x y1 y2" format is assumed. Choose the file the data and link. Now in the link list, the links will show the file name with an appended colon and number. The number tells what column of data the link refers to. Any unwanted columns may be selected and unlinked at this point. When the update button is selected, all sets in the graph will be updated.

10.3 Updating by hot keys

Instead of having to keep the Hot links window open all the time, the update action is bound to alt-u. If you find that alt-u has no effect, try double clicking inside the graph you want to update and close the window that pops up. This will "alert" the canvas to process future hot key strokes.

./usr/share/doc/grace/7.1.2.agr.gz0000644000000000000000000000626706671062261015252 0ustar rootrootYێ} H6``@;oJK/GT(խ 4ػê[թ謹SSXmڮyf82Bi_oTV4]W?]z̏]Re[<|zզ+QڗwR>T3XwA . }L@UD'Fί6 ~|6h(L7xC/6C~; b)m{fxFZXws:_>2>=7;Vͷn<cPS5vtz8E}0⾩kY}xmAp@L8",IN΄S<*©""L8".iNOmE_fWmdC_y-A*nHQZbJ[ K}ͮwSe?Vӷ8|z{iwUa*L1V!b}rv%JmsZ+HbK{\)?|O-4|y-<@#^E3V55:N;ow/Ή5K+bC<KRfshԫh#RY5ʅ]f|#~lf3cW$Px]c뱟qΑD=Wؿn1OW df'/N]eQW'_\G< tgdm-_:tkfjv8VZ>? mnQ.";-.>ևfULjE'Ƽ6v[9+vBZw|)$KR%h.9.>zP3VִGOٚouD6Y粉9:yQ,?Aƭ9[Pp \8\#p\\\\\7ff(Hn< })רi1 ;?B$ZX'Z9Eku|#a FyIKbEU<< k8M{C%' 5ŭEP:2Y)&(Icd`t|!K!"m Cxڈkc+ZV Kfďu*i~LJxȩ^ѳ kѵ`!QDN~0=~#ZB.Y#(Сbo)'5c`^"2R60u4OS:` NKO u`/OY׉T1q&((VsW$!=9(,upV6" H~H\B9`As`{Jҹ2ku U3(Ё.ry -.xIHA3+.a+J2H֧%֌cS*XCGqI@Y6L8A,Q\ h#e%" @aL/ S+")%Fx Ts$b(8DnW uleJ2zh$50A(,UVal恑/*N~RJL9'}:! ³ڗc 0 Szek0Gk_Iy!5Eՙ4*N^483gN{xsL IA8^S+2@p8h5t\YI+B9Z ;0XϕՀga V%/ urv!\Y.Rxՠw\-Z"˕(c 0RP`/gtxe3zCkR޷4odnyE bz !:΂8Ж5vPLb> BX gi5h̨@oyI*fל*ՠ( !VN_-/ ҸX f4mbpIZN"ՀS$zAA8얇*7B,AAV0*VUأ x3PeO5./usr/share/doc/grace/UsersGuide.html0000644000000000000000000046306111015105576016432 0ustar rootroot

Click on Apply to perform the operation. The resultant set will be the expression evaluated only on points contained in the specified region. Thus, if no expression was specified, the effect is to produce a new set of only those points contained in the region. Conversely, to delete points in a region, leave the expression empty, and negate the region selection.

8. Using Pipes

Pipes are a way of capturing the output of a running process without the intermediary step of pacing the output in a file. Instead, the executing program puts the data in one end of the pipe, and Grace reads it from the other end of the pipe.

8.1 Instead of data files

On certain popups, e.g. Main:Data/Import/ASCII, the option to read from a file or pipe can be specified. If a pipe is chosen, the command in the selection widget will be run and the stdout will be captured and treated as though it was data which was read from a file.

8.2 Named pipes

A named pipe is a special case of the pipe previously described. In the previous case, after the program has finished execution and the output had been read, the pipe was destroyed. A named pipe is a static structure with the property that multiple processes can write to and/or read from it. The purpose of using a named pipe with Grace is to start up a Grace window and then control Grace by sending commands and data through a named pipe. This is very powerful and lets you do practically anything you can do directly from the GUI. To use this feature, try the following:

  1. Start a named pipe (you will have to find the command specific to your operating system. For example, it could be mkfifo or mknod): mkfifo pvc. If you do a directory listing, you should see the file pvc.
  2. Start up Grace in the background using the named pipe option: xmgrace -npipepvc&. Grace is now monitoring the pipe for any data which might be sent to it. It will interpret things as though they were entered using the command interpreter.
  3. For a simple test, we will create a simple graph over the pipe. From your command line, type: echo "read \"8.2.dat\"" > pvc. (The back slashes are needed to escape the quotation marks so that Grace really received the command :read "8.2.dat".) This just told Grace to read the file data. Now we would like to autoscale. We could simply click on the button but the point is to use a named pipe. This time we type echo autoscale > pvc followed by echo redraw > pvc. Your graph should now have autoscaled and redrawn. Exit Grace with echo exit > pvc. You should also clean up by removing pvc.
  4. The true power in named pipes lies in driving Grace using another program. The controlling program can open a named pipe for writing, which is treated as an ordinary file. It can be opened with the fopen() function or whatever other I/O function you prefer. Commands and data are then written to the file where they are interpreted by Grace.

9. Multiple Graphs

9.1 Selecting graphs

When multiple graphs are present, a graph is selected by clicking inside the graph frame. In cases where graph frames overlap, clicking will cycle among the overlapping graphs.

It might be annoying if one is trying to work in a region of overlapping graphs. If will not be possible to double click on something because the each click will be interpreted as a single click and you will only end up changing the graph focus. In such an instance, turning off the graph selection by clicking might be desirable. Choose Main:Edit/Preferences and then set Misc:Graph_focus to "As set". This means one must explicitly set the focus. Simply bring up a graph list (eg. Main:Edit/Overlay_graphs is but one), select the graph you want to work on and then, using the menu under mouse button 3, choose "Focus to".

Arranging a tableau of graphs

Placing a large number of regularly spaced graphs is easily done with Main:Edit/Arrange_graphs. This will automatically calculate the layout:

  1. Choose 3 rows and 3 columns and Apply. You should now see 9 graphs. The Order button refers to the way the graphs are numbered. The beginning of the line on the diagram of the button shows which graph is numbered 0 and how the numbers increase, by row or column.
  2. You realize you need horizontal packing, i.e. no horizontal gap between graphs. Click on the Pack button beside the Hgap/width input and then Apply.
  3. Suddenly, you realize you only need 6 graphs and not 9. Choose 2 rows and press Apply. There is a slight problem as graphs 6, 7 an 8 are still visible. This is a feature since you don't want to accidentally kill a graph. You can kill the extra graphs by clicking on the "Kill extra graphs" check box. Now, any graphs other than the explicitly arranged ones will be automatically killed.
  4. The margins are controlled by the Page Offsets, and the intergraph spacing by the Hgap and Vgap inputs.
  5. Press close to remove the window.

Note that only graphs which are selected are taken into consideration. So, if you wish to reorganize your existing graphs, make sure they are selected or new ones may be created.

Arranging individual graphs

Arranging individual graphs may either be done (1) exactly, by specifying the viewport coordinates from Main:Plot/Graph_appearance or using the previously explained Arrange graphs popup, or (2) roughly, by double clicking a graph focus marker and then moving it.

9.2 Overlaying Graphs

Overlaying one graph onto another is useful for creating a graph with two different x axes and/or y axes. For example, you may wish to have a graph which on the x axis has the month of the year. There could be 2 curves on it, one using the left y axis which is number of gnus sold and one using the right y-axis which is the number of gnats exported on a logarithmic scale. Likewise, if one is plotting spectral data, one could have one x axis in Hz and another one in wavelength. Let's proceed with an example:data

  1. Begin by selecting Main:Edit/Overlay graphs to bring up the Overlay widget.
  2. Select the graph numbers with which we would like to deal. In this example, we will overlay graph 1 onto graph 0. At this point, only graph 0 is visible. We cannot see Graph 1 to select since it does not exist at this point. We need to create simply by pressing mouse button 3 in a graph list window and selecting create new.
  3. The overlay type is determined by what is common among the overlayed graphs. In our example, the x axis is common so we will select X-axes same, Y-axes different. This is important because we don't want to alter any axes of the Overlay graph which we set the same as the underlay graph. In this example, we don't want to alter the x-axis of graph 1.
  4. We are now ready to label the graph axes and read the data. One thing we must be careful to do is to always make sure that we are working on the intended graph. Seeing as the graphs are overlain, clicking within the frame is ambiguous as to what graph is selected. The rule is that in a region of overlay, clicking will cycle between the graphs. Hence, if graph 1 is selecting, clicking within the frame will toggle to graph 0.
  5. Making sure that graph 0 is active, bring up the Axis properties widget. Now set the y axis title to Gnus.
  6. Select graph 1 as active as set the title as Gnats. Notice how it overlaps the Gnus. We want to put this on the right side. From the axis label and bar tab, select label Properties/Side=Opposite.
  7. Label the x axis to label it. If graph 1 is the current graph, noticed how it is greyed out because only 1 x axis need be active. Select graph 0 and you should now be able to alter the axis label.
  8. You are ready to read in data. Just make sure the graph that is active when you read in the data (or create your set) is the one in which you intend it to go.

10. Hot Links

Hot links are a way of of updating a set without having to delete it first and then reread it. The Hot Links window is opened available under Main:Data/Hot links.

10.1 File containing a Single Set

The simplest hot link is to a file containing just one set. To make a hot link to a single set, we must first select the set we want to get updated and then specify the file. We may also link to a pipe in which case we must specify it is a pipe to which we are linking. A command may also be entered which will be run every time the hot link is updated. A common command might be autoscale which will make sure that the entire set can be seen if it changes size. It's possible you may want to execute more commands than one. One could, for example, have a set that is a function of 2 sets that needs to be recomputed if either set is updated. If this is the case, put your commands in a file and then use the "READ BATCH" command.

Pressing the Link button will now create the link and if the update button is pressed, the set will be updated with the current contents of the file you linked and the contents of the Command widget will be executed.

For a simple example, read in the set 10.1.dat and set up the hot link. Now, run the command shiftdata.sh and update the hotlink. You should have seen the peak in the graph shift. Try repeating this a couple of more times.

10.2 Multiple sets within a file

Sometimes a data file may contain multiple columns of data and we would like to be able to link to all or some of those columns. To specify this, select as many sets as there are xy columns of data in the file. The "x y1 y2" format is assumed. Choose the file the data and link. Now in the link list, the links will show the file name with an appended colon and number. The number tells what column of data the link refers to. Any unwanted columns may be selected and unlinked at this point. When the update button is selected, all sets in the graph will be updated.

10.3 Updating by hot keys

Instead of having to keep the Hot links window open all the time, the update action is bound to alt-u. If you find that alt-u has no effect, try double clicking inside the graph you want to update and close the window that pops up. This will "alert" the canvas to process future hot key strokes.

./usr/share/doc/grace/7.1.2.agr.gz0000644000000000000000000000626706671062261015252 0ustar rootrootYێ} H6``@;oJK/GT(խ 4ػê[թ謹SSXmڮyf82Bi_oTV4]W?]z̏]Re[<|zզ+QڗwR>T3XwA . }L@UD'Fί6 ~|6h(L7xC/6C~; b)m{fxFZXws:_>2>=7;Vͷn<cPS5vtz8E}0⾩kY}xmAp@L8",IN΄S<*©""L8".iNOmE_fWmdC_y-A*nHQZbJ[ K}ͮwSe?Vӷ8|z{iwUa*L1V!b}rv%JmsZ+HbK{\)?|O-4|y-<@#^E3V55:N;ow/Ή5K+bC<KRfshԫh#RY5ʅ]f|#~lf3cW$Px]c뱟qΑD=Wؿn1OW df'/N]eQW'_\G< tgdm-_:tkfjv8VZ>? mnQ.";-.>ևfULjE'Ƽ6v[9+vBZw|)$KR%h.9.>zP3VִGOٚouD6Y粉9:yQ,?Aƭ9[Pp \8\#p\\\\\7ff(Hn< })רi1 ;?B$ZX'Z9Eku|#a FyIKbEU<< k8M{C%' 5ŭEP:2Y)&(Icd`t|!K!"m Cxڈkc+ZV Kfďu*i~LJxȩ^ѳ kѵ`!QDN~0=~#ZB.Y#(Сbo)'5c`^"2R60u4OS:` NKO u`/OY׉T1q&((VsW$!=9(,upV6" H~H\B9`As`{Jҹ2ku U3(Ё.ry -.xIHA3+.a+J2H֧%֌cS*XCGqI@Y6L8A,Q\ h#e%" @aL/ S+")%Fx Ts$b(8DnW uleJ2zh$50A(,UVal恑/*N~RJL9'}:! ³ڗc 0 Szek0Gk_Iy!5Eՙ4*N^483gN{xsL IA8^S+2@p8h5t\YI+B9Z ;0XϕՀga V%/ urv!\Y.Rxՠw\-Z"˕(c 0RP`/gtxe3zCkR޷4odnyE bz !:΂8Ж5vPLb> BX gi5h̨@oyI*fל*ՠ( !VN_-/ ҸX f4mbpIZN"ՀS$zAA8얇*7B,AAV0*VUأ x3PeO5./usr/share/doc/grace/UsersGuide.html0000644000000000000000000046306111015105576016432 0ustar rootroot

Click on Apply to perform the operation. The resultant set will be the expression evaluated only on points contained in the specified region. Thus, if no expression was specified, the effect is to produce a new set of only those points contained in the region. Conversely, to delete points in a region, leave the expression empty, and negate the region selection.

8. Using Pipes

Pipes are a way of capturing the output of a running process without the intermediary step of pacing the output in a file. Instead, the executing program puts the data in one end of the pipe, and Grace reads it from the other end of the pipe.

8.1 Instead of data files

On certain popups, e.g. Main:Data/Import/ASCII, the option to read from a file or pipe can be specified. If a pipe is chosen, the command in the selection widget will be run and the stdout will be captured and treated as though it was data which was read from a file.

8.2 Named pipes

A named pipe is a special case of the pipe previously described. In the previous case, after the program has finished execution and the output had been read, the pipe was destroyed. A named pipe is a static structure with the property that multiple processes can write to and/or read from it. The purpose of using a named pipe with Grace is to start up a Grace window and then control Grace by sending commands and data through a named pipe. This is very powerful and lets you do practically anything you can do directly from the GUI. To use this feature, try the following:

  1. Start a named pipe (you will have to find the command specific to your operating system. For example, it could be mkfifo or mknod): mkfifo pvc. If you do a directory listing, you should see the file pvc.
  2. Start up Grace in the background using the named pipe option: xmgrace -npipepvc&. Grace is now monitoring the pipe for any data which might be sent to it. It will interpret things as though they were entered using the command interpreter.
  3. For a simple test, we will create a simple graph over the pipe. From your command line, type: echo "read \"8.2.dat\"" > pvc. (The back slashes are needed to escape the quotation marks so that Grace really received the command :read "8.2.dat".) This just told Grace to read the file data. Now we would like to autoscale. We could simply click on the button but the point is to use a named pipe. This time we type echo autoscale > pvc followed by echo redraw > pvc. Your graph should now have autoscaled and redrawn. Exit Grace with echo exit > pvc. You should also clean up by removing pvc.
  4. The true power in named pipes lies in driving Grace using another program. The controlling program can open a named pipe for writing, which is treated as an ordinary file. It can be opened with the fopen() function or whatever other I/O function you prefer. Commands and data are then written to the file where they are interpreted by Grace.

9. Multiple Graphs

9.1 Selecting graphs

When multiple graphs are present, a graph is selected by clicking inside the graph frame. In cases where graph frames overlap, clicking will cycle among the overlapping graphs.

It might be annoying if one is trying to work in a region of overlapping graphs. If will not be possible to double click on something because the each click will be interpreted as a single click and you will only end up changing the graph focus. In such an instance, turning off the graph selection by clicking might be desirable. Choose Main:Edit/Preferences and then set Misc:Graph_focus to "As set". This means one must explicitly set the focus. Simply bring up a graph list (eg. Main:Edit/Overlay_graphs is but one), select the graph you want to work on and then, using the menu under mouse button 3, choose "Focus to".

Arranging a tableau of graphs

Placing a large number of regularly spaced graphs is easily done with Main:Edit/Arrange_graphs. This will automatically calculate the layout:

  1. Choose 3 rows and 3 columns and Apply. You should now see 9 graphs. The Order button refers to the way the graphs are numbered. The beginning of the line on the diagram of the button shows which graph is numbered 0 and how the numbers increase, by row or column.
  2. You realize you need horizontal packing, i.e. no horizontal gap between graphs. Click on the Pack button beside the Hgap/width input and then Apply.
  3. Suddenly, you realize you only need 6 graphs and not 9. Choose 2 rows and press Apply. There is a slight problem as graphs 6, 7 an 8 are still visible. This is a feature since you don't want to accidentally kill a graph. You can kill the extra graphs by clicking on the "Kill extra graphs" check box. Now, any graphs other than the explicitly arranged ones will be automatically killed.
  4. The margins are controlled by the Page Offsets, and the intergraph spacing by the Hgap and Vgap inputs.
  5. Press close to remove the window.

Note that only graphs which are selected are taken into consideration. So, if you wish to reorganize your existing graphs, make sure they are selected or new ones may be created.

Arranging individual graphs

Arranging individual graphs may either be done (1) exactly, by specifying the viewport coordinates from Main:Plot/Graph_appearance or using the previously explained Arrange graphs popup, or (2) roughly, by double clicking a graph focus marker and then moving it.

9.2 Overlaying Graphs

Overlaying one graph onto another is useful for creating a graph with two different x axes and/or y axes. For example, you may wish to have a graph which on the x axis has the month of the year. There could be 2 curves on it, one using the left y axis which is number of gnus sold and one using the right y-axis which is the number of gnats exported on a logarithmic scale. Likewise, if one is plotting spectral data, one could have one x axis in Hz and another one in wavelength. Let's proceed with an example:data

  1. Begin by selecting Main:Edit/Overlay graphs to bring up the Overlay widget.
  2. Select the graph numbers with which we would like to deal. In this example, we will overlay graph 1 onto graph 0. At this point, only graph 0 is visible. We cannot see Graph 1 to select since it does not exist at this point. We need to create simply by pressing mouse button 3 in a graph list window and selecting create new.
  3. The overlay type is determined by what is common among the overlayed graphs. In our example, the x axis is common so we will select X-axes same, Y-axes different. This is important because we don't want to alter any axes of the Overlay graph which we set the same as the underlay graph. In this example, we don't want to alter the x-axis of graph 1.
  4. We are now ready to label the graph axes and read the data. One thing we must be careful to do is to always make sure that we are working on the intended graph. Seeing as the graphs are overlain, clicking within the frame is ambiguous as to what graph is selected. The rule is that in a region of overlay, clicking will cycle between the graphs. Hence, if graph 1 is selecting, clicking within the frame will toggle to graph 0.
  5. Making sure that graph 0 is active, bring up the Axis properties widget. Now set the y axis title to Gnus.
  6. Select graph 1 as active as set the title as Gnats. Notice how it overlaps the Gnus. We want to put this on the right side. From the axis label and bar tab, select label Properties/Side=Opposite.
  7. Label the x axis to label it. If graph 1 is the current graph, noticed how it is greyed out because only 1 x axis need be active. Select graph 0 and you should now be able to alter the axis label.
  8. You are ready to read in data. Just make sure the graph that is active when you read in the data (or create your set) is the one in which you intend it to go.

10. Hot Links

Hot links are a way of of updating a set without having to delete it first and then reread it. The Hot Links window is opened available under Main:Data/Hot links.

10.1 File containing a Single Set

The simplest hot link is to a file containing just one set. To make a hot link to a single set, we must first select the set we want to get updated and then specify the file. We may also link to a pipe in which case we must specify it is a pipe to which we are linking. A command may also be entered which will be run every time the hot link is updated. A common command might be autoscale which will make sure that the entire set can be seen if it changes size. It's possible you may want to execute more commands than one. One could, for example, have a set that is a function of 2 sets that needs to be recomputed if either set is updated. If this is the case, put your commands in a file and then use the "READ BATCH" command.

Pressing the Link button will now create the link and if the update button is pressed, the set will be updated with the current contents of the file you linked and the contents of the Command widget will be executed.

For a simple example, read in the set 10.1.dat and set up the hot link. Now, run the command shiftdata.sh and update the hotlink. You should have seen the peak in the graph shift. Try repeating this a couple of more times.

10.2 Multiple sets within a file

Sometimes a data file may contain multiple columns of data and we would like to be able to link to all or some of those columns. To specify this, select as many sets as there are xy columns of data in the file. The "x y1 y2" format is assumed. Choose the file the data and link. Now in the link list, the links will show the file name with an appended colon and number. The number tells what column of data the link refers to. Any unwanted columns may be selected and unlinked at this point. When the update button is selected, all sets in the graph will be updated.

10.3 Updating by hot keys

Instead of having to keep the Hot links window open all the time, the update action is bound to alt-u. If you find that alt-u has no effect, try double clicking inside the graph you want to update and close the window that pops up. This will "alert" the canvas to process future hot key strokes.

./usr/share/doc/grace/7.1.2.agr.gz0000644000000000000000000000626706671062261015252 0ustar rootrootYێ} H6``@;oJK/GT(խ 4ػê[թ謹SSXmڮyf82Bi_oTV4]W?]z̏]Re[<|zզ+QڗwR>T3XwA . }L@UD'Fί6 ~|6h(L7xC/6C~; b)m{fxFZXws:_>2>=7;Vͷn<cPS5vtz8E}0⾩kY}xmAp@L8",IN΄S<*©""L8".iNOmE_fWmdC_y-A*nHQZbJ[ K}ͮwSe?Vӷ8|z{iwUa*L1V!b}rv%JmsZ+HbK{\)?|O-4|y-<@#^E3V55:N;ow/Ή5K+bC<KRfshԫh#RY5ʅ]f|#~lf3cW$Px]c뱟qΑD=Wؿn1OW df'/N]eQW'_\G< tgdm-_:tkfjv8VZ>? mnQ.";-.>ևfULjE'Ƽ6v[9+vBZw|)$KR%h.9.>zP3VִGOٚouD6Y粉9:yQ,?Aƭ9[Pp \8\#p\\\\\7ff(Hn< })רi1 ;?B$ZX'Z9Eku|#a FyIKbEU<< k8M{C%' 5ŭEP:2Y)&(Icd`t|!K!"m Cxڈkc+ZV Kfďu*i~LJxȩ^ѳ kѵ`!QDN~0=~#ZB.Y#(Сbo)'5c`^"2R60u4OS:` NKO u`/OY׉T1q&((VsW$!=9(,upV6" H~H\B9`As`{Jҹ2ku U3(Ё.ry -.xIHA3+.a+J2H֧%֌cS*XCGqI@Y6L8A,Q\ h#e%" @aL/ S+")%Fx Ts$b(8DnW uleJ2zh$50A(,UVal恑/*N~RJL9'}:! ³ڗc 0 Szek0Gk_Iy!5Eՙ4*N^483gN{xsL IA8^S+2@p8h5t\YI+B9Z ;0XϕՀga V%/ urv!\Y.Rxՠw\-Z"˕(c 0RP`/gtxe3zCkR޷4odnyE bz !:΂8Ж5vPLb> BX gi5h̨@oyI*fל*ՠ( !VN_-/ ҸX f4mbpIZN"ՀS$zAA8얇*7B,AAV0*VUأ x3PeO5./usr/share/doc/grace/UsersGuide.html0000644000000000000000000046306111015105576016432 0ustar rootroot

Click on Apply to perform the operation. The resultant set will be the expression evaluated only on points contained in the specified region. Thus, if no expression was specified, the effect is to produce a new set of only those points contained in the region. Conversely, to delete points in a region, leave the expression empty, and negate the region selection.

8. Using Pipes

Pipes are a way of capturing the output of a running process without the intermediary step of pacing the output in a file. Instead, the executing program puts the data in one end of the pipe, and Grace reads it from the other end of the pipe.

8.1 Instead of data files

On certain popups, e.g. Main:Data/Import/ASCII, the option to read from a file or pipe can be specified. If a pipe is chosen, the command in the selection widget will be run and the stdout will be captured and treated as though it was data which was read from a file.

8.2 Named pipes

A named pipe is a special case of the pipe previously described. In the previous case, after the program has finished execution and the output had been read, the pipe was destroyed. A named pipe is a static structure with the property that multiple processes can write to and/or read from it. The purpose of using a named pipe with Grace is to start up a Grace window and then control Grace by sending commands and data through a named pipe. This is very powerful and lets you do practically anything you can do directly from the GUI. To use this feature, try the following:

  1. Start a named pipe (you will have to find the command specific to your operating system. For example, it could be mkfifo or mknod): mkfifo pvc. If you do a directory listing, you should see the file pvc.
  2. Start up Grace in the background using the named pipe option: xmgrace -npipepvc&. Grace is now monitoring the pipe for any data which might be sent to it. It will interpret things as though they were entered using the command interpreter.
  3. For a simple test, we will create a simple graph over the pipe. From your command line, type: echo "read \"8.2.dat\"" > pvc. (The back slashes are needed to escape the quotation marks so that Grace really received the command :read "8.2.dat".) This just told Grace to read the file data. Now we would like to autoscale. We could simply click on the button but the point is to use a named pipe. This time we type echo autoscale > pvc followed by echo redraw > pvc. Your graph should now have autoscaled and redrawn. Exit Grace with echo exit > pvc. You should also clean up by removing pvc.
  4. The true power in named pipes lies in driving Grace using another program. The controlling program can open a named pipe for writing, which is treated as an ordinary file. It can be opened with the fopen() function or whatever other I/O function you prefer. Commands and data are then written to the file where they are interpreted by Grace.

9. Multiple Graphs

9.1 Selecting graphs

When multiple graphs are present, a graph is selected by clicking inside the graph frame. In cases where graph frames overlap, clicking will cycle among the overlapping graphs.

It might be annoying if one is trying to work in a region of overlapping graphs. If will not be possible to double click on something because the each click will be interpreted as a single click and you will only end up changing the graph focus. In such an instance, turning off the graph selection by clicking might be desirable. Choose Main:Edit/Preferences and then set Misc:Graph_focus to "As set". This means one must explicitly set the focus. Simply bring up a graph list (eg. Main:Edit/Overlay_graphs is but one), select the graph you want to work on and then, using the menu under mouse button 3, choose "Focus to".

Arranging a tableau of graphs

Placing a large number of regularly spaced graphs is easily done with Main:Edit/Arrange_graphs. This will automatically calculate the layout:

  1. Choose 3 rows and 3 columns and Apply. You should now see 9 graphs. The Order button refers to the way the graphs are numbered. The beginning of the line on the diagram of the button shows which graph is numbered 0 and how the numbers increase, by row or column.
  2. You realize you need horizontal packing, i.e. no horizontal gap between graphs. Click on the Pack button beside the Hgap/width input and then Apply.
  3. Suddenly, you realize you only need 6 graphs and not 9. Choose 2 rows and press Apply. There is a slight problem as graphs 6, 7 an 8 are still visible. This is a feature since you don't want to accidentally kill a graph. You can kill the extra graphs by clicking on the "Kill extra graphs" check box. Now, any graphs other than the explicitly arranged ones will be automatically killed.
  4. The margins are controlled by the Page Offsets, and the intergraph spacing by the Hgap and Vgap inputs.
  5. Press close to remove the window.

Note that only graphs which are selected are taken into consideration. So, if you wish to reorganize your existing graphs, make sure they are selected or new ones may be created.

Arranging individual graphs

Arranging individual graphs may either be done (1) exactly, by specifying the viewport coordinates from Main:Plot/Graph_appearance or using the previously explained Arrange graphs popup, or (2) roughly, by double clicking a graph focus marker and then moving it.

9.2 Overlaying Graphs

Overlaying one graph onto another is useful for creating a graph with two different x axes and/or y axes. For example, you may wish to have a graph which on the x axis has the month of the year. There could be 2 curves on it, one using the left y axis which is number of gnus sold and one using the right y-axis which is the number of gnats exported on a logarithmic scale. Likewise, if one is plotting spectral data, one could have one x axis in Hz and another one in wavelength. Let's proceed with an example:data

  1. Begin by selecting Main:Edit/Overlay graphs to bring up the Overlay widget.
  2. Select the graph numbers with which we would like to deal. In this example, we will overlay graph 1 onto graph 0. At this point, only graph 0 is visible. We cannot see Graph 1 to select since it does not exist at this point. We need to create simply by pressing mouse button 3 in a graph list window and selecting create new.
  3. The overlay type is determined by what is common among the overlayed graphs. In our example, the x axis is common so we will select X-axes same, Y-axes different. This is important because we don't want to alter any axes of the Overlay graph which we set the same as the underlay graph. In this example, we don't want to alter the x-axis of graph 1.
  4. We are now ready to label the graph axes and read the data. One thing we must be careful to do is to always make sure that we are working on the intended graph. Seeing as the graphs are overlain, clicking within the frame is ambiguous as to what graph is selected. The rule is that in a region of overlay, clicking will cycle between the graphs. Hence, if graph 1 is selecting, clicking within the frame will toggle to graph 0.
  5. Making sure that graph 0 is active, bring up the Axis properties widget. Now set the y axis title to Gnus.
  6. Select graph 1 as active as set the title as Gnats. Notice how it overlaps the Gnus. We want to put this on the right side. From the axis label and bar tab, select label Properties/Side=Opposite.
  7. Label the x axis to label it. If graph 1 is the current graph, noticed how it is greyed out because only 1 x axis need be active. Select graph 0 and you should now be able to alter the axis label.
  8. You are ready to read in data. Just make sure the graph that is active when you read in the data (or create your set) is the one in which you intend it to go.

10. Hot Links

Hot links are a way of of updating a set without having to delete it first and then reread it. The Hot Links window is opened available under Main:Data/Hot links.

10.1 File containing a Single Set

The simplest hot link is to a file containing just one set. To make a hot link to a single set, we must first select the set we want to get updated and then specify the file. We may also link to a pipe in which case we must specify it is a pipe to which we are linking. A command may also be entered which will be run every time the hot link is updated. A common command might be autoscale which will make sure that the entire set can be seen if it changes size. It's possible you may want to execute more commands than one. One could, for example, have a set that is a function of 2 sets that needs to be recomputed if either set is updated. If this is the case, put your commands in a file and then use the "READ BATCH" command.

Pressing the Link button will now create the link and if the update button is pressed, the set will be updated with the current contents of the file you linked and the contents of the Command widget will be executed.

For a simple example, read in the set 10.1.dat and set up the hot link. Now, run the command shiftdata.sh and update the hotlink. You should have seen the peak in the graph shift. Try repeating this a couple of more times.

10.2 Multiple sets within a file

Sometimes a data file may contain multiple columns of data and we would like to be able to link to all or some of those columns. To specify this, select as many sets as there are xy columns of data in the file. The "x y1 y2" format is assumed. Choose the file the data and link. Now in the link list, the links will show the file name with an appended colon and number. The number tells what column of data the link refers to. Any unwanted columns may be selected and unlinked at this point. When the update button is selected, all sets in the graph will be updated.

10.3 Updating by hot keys

Instead of having to keep the Hot links window open all the time, the update action is bound to alt-u. If you find that alt-u has no effect, try double clicking inside the graph you want to update and close the window that pops up. This will "alert" the canvas to process future hot key strokes.

./usr/share/doc/grace/7.1.2.agr.gz0000644000000000000000000000626706671062261015252 0ustar rootrootYێ} H6``@;oJK/GT(խ 4ػê[թ謹SSXmڮyf82Bi_oTV4]W?]z̏]Re[<|zզ+QڗwR>T3XwA . }L@UD'Fί6 ~|6h(L7xC/6C~; b)m{fxFZXws:_>2>=7;Vͷn<cPS5vtz8E}0⾩kY}xmAp@L8",IN΄S<*©""L8".iNOmE_fWmdC_y-A*nHQZbJ[ K}ͮwSe?Vӷ8|z{iwUa*L1V!b}rv%JmsZ+HbK{\)?|O-4|y-<@#^E3V55:N;ow/Ή5K+bC<KRfshԫh#RY5ʅ]f|#~lf3cW$Px]c뱟qΑD=Wؿn1OW df'/N]eQW'_\G< tgdm-_:tkfjv8VZ>? mnQ.";-.>ևfULjE'Ƽ6v[9+vBZw|)$KR%h.9.>zP3VִGOٚouD6Y粉9:yQ,?Aƭ9[Pp \8\#p\\\\\7ff(Hn< })רi1 ;?B$ZX'Z9Eku|#a FyIKbEU<< k8M{C%' 5ŭEP:2Y)&(Icd`t|!K!"m Cxڈkc+ZV Kfďu*i~LJxȩ^ѳ kѵ`!QDN~0=~#ZB.Y#(Сbo)'5c`^"2R60u4OS:` NKO u`/OY׉T1q&((VsW$!=9(,upV6" H~H\B9`As`{Jҹ2ku U3(Ё.ry -.xIHA3+.a+J2H֧%֌cS*XCGqI@Y6L8A,Q\ h#e%" @aL/ S+")%Fx Ts$b(8DnW uleJ2zh$50A(,UVal恑/*N~RJL9'}:! ³ڗc 0 Szek0Gk_Iy!5Eՙ4*N^483gN{xsL IA8^S+2@p8h5t\YI+B9Z ;0XϕՀga V%/ urv!\Y.Rxՠw\-Z"˕(c 0RP`/gtxe3zCkR޷4odnyE bz !:΂8Ж5vPLb> BX gi5h̨@oyI*fל*ՠ( !VN_-/ ҸX f4mbpIZN"ՀS$zAA8얇*7B,AAV0*VUأ x3PeO5./usr/share/doc/grace/UsersGuide.html0000644000000000000000000046306111015105576016432 0ustar rootroot

Click on Apply to perform the operation. The resultant set will be the expression evaluated only on points contained in the specified region. Thus, if no expression was specified, the effect is to produce a new set of only those points contained in the region. Conversely, to delete points in a region, leave the expression empty, and negate the region selection.

8. Using Pipes

Pipes are a way of capturing the output of a running process without the intermediary step of pacing the output in a file. Instead, the executing program puts the data in one end of the pipe, and Grace reads it from the other end of the pipe.

8.1 Instead of data files

On certain popups, e.g. Main:Data/Import/ASCII, the option to read from a file or pipe can be specified. If a pipe is chosen, the command in the selection widget will be run and the stdout will be captured and treated as though it was data which was read from a file.

8.2 Named pipes

A named pipe is a special case of the pipe previously described. In the previous case, after the program has finished execution and the output had been read, the pipe was destroyed. A named pipe is a static structure with the property that multiple processes can write to and/or read from it. The purpose of using a named pipe with Grace is to start up a Grace window and then control Grace by sending commands and data through a named pipe. This is very powerful and lets you do practically anything you can do directly from the GUI. To use this feature, try the following:

  1. Start a named pipe (you will have to find the command specific to your operating system. For example, it could be mkfifo or mknod): mkfifo pvc. If you do a directory listing, you should see the file pvc.
  2. Start up Grace in the background using the named pipe option: xmgrace -npipepvc&. Grace is now monitoring the pipe for any data which might be sent to it. It will interpret things as though they were entered using the command interpreter.
  3. For a simple test, we will create a simple graph over the pipe. From your command line, type: echo "read \"8.2.dat\"" > pvc. (The back slashes are needed to escape the quotation marks so that Grace really received the command :read "8.2.dat".) This just told Grace to read the file data. Now we would like to autoscale. We could simply click on the button but the point is to use a named pipe. This time we type echo autoscale > pvc followed by echo redraw > pvc. Your graph should now have autoscaled and redrawn. Exit Grace with echo exit > pvc. You should also clean up by removing pvc.
  4. The true power in named pipes lies in driving Grace using another program. The controlling program can open a named pipe for writing, which is treated as an ordinary file. It can be opened with the fopen() function or whatever other I/O function you prefer. Commands and data are then written to the file where they are interpreted by Grace.

9. Multiple Graphs

9.1 Selecting graphs

When multiple graphs are present, a graph is selected by clicking inside the graph frame. In cases where graph frames overlap, clicking will cycle among the overlapping graphs.

It might be annoying if one is trying to work in a region of overlapping graphs. If will not be possible to double click on something because the each click will be interpreted as a single click and you will only end up changing the graph focus. In such an instance, turning off the graph selection by clicking might be desirable. Choose Main:Edit/Preferences and then set Misc:Graph_focus to "As set". This means one must explicitly set the focus. Simply bring up a graph list (eg. Main:Edit/Overlay_graphs is but one), select the graph you want to work on and then, using the menu under mouse button 3, choose "Focus to".

Arranging a tableau of graphs

Placing a large number of regularly spaced graphs is easily done with Main:Edit/Arrange_graphs. This will automatically calculate the layout:

  1. Choose 3 rows and 3 columns and Apply. You should now see 9 graphs. The Order button refers to the way the graphs are numbered. The beginning of the line on the diagram of the button shows which graph is numbered 0 and how the numbers increase, by row or column.
  2. You realize you need horizontal packing, i.e. no horizontal gap between graphs. Click on the Pack button beside the Hgap/width input and then Apply.
  3. Suddenly, you realize you only need 6 graphs and not 9. Choose 2 rows and press Apply. There is a slight problem as graphs 6, 7 an 8 are still visible. This is a feature since you don't want to accidentally kill a graph. You can kill the extra graphs by clicking on the "Kill extra graphs" check box. Now, any graphs other than the explicitly arranged ones will be automatically killed.
  4. The margins are controlled by the Page Offsets, and the intergraph spacing by the Hgap and Vgap inputs.
  5. Press close to remove the window.

Note that only graphs which are selected are taken into consideration. So, if you wish to reorganize your existing graphs, make sure they are selected or new ones may be created.

Arranging individual graphs

Arranging individual graphs may either be done (1) exactly, by specifying the viewport coordinates from Main:Plot/Graph_appearance or using the previously explained Arrange graphs popup, or (2) roughly, by double clicking a graph focus marker and then moving it.

9.2 Overlaying Graphs

Overlaying one graph onto another is useful for creating a graph with two different x axes and/or y axes. For example, you may wish to have a graph which on the x axis has the month of the year. There could be 2 curves on it, one using the left y axis which is number of gnus sold and one using the right y-axis which is the number of gnats exported on a logarithmic scale. Likewise, if one is plotting spectral data, one could have one x axis in Hz and another one in wavelength. Let's proceed with an example:data

  1. Begin by selecting Main:Edit/Overlay graphs to bring up the Overlay widget.
  2. Select the graph numbers with which we would like to deal. In this example, we will overlay graph 1 onto graph 0. At this point, only graph 0 is visible. We cannot see Graph 1 to select since it does not exist at this point. We need to create simply by pressing mouse button 3 in a graph list window and selecting create new.
  3. The overlay type is determined by what is common among the overlayed graphs. In our example, the x axis is common so we will select X-axes same, Y-axes different. This is important because we don't want to alter any axes of the Overlay graph which we set the same as the underlay graph. In this example, we don't want to alter the x-axis of graph 1.
  4. We are now ready to label the graph axes and read the data. One thing we must be careful to do is to always make sure that we are working on the intended graph. Seeing as the graphs are overlain, clicking within the frame is ambiguous as to what graph is selected. The rule is that in a region of overlay, clicking will cycle between the graphs. Hence, if graph 1 is selecting, clicking within the frame will toggle to graph 0.
  5. Making sure that graph 0 is active, bring up the Axis properties widget. Now set the y axis title to Gnus.
  6. Select graph 1 as active as set the title as Gnats. Notice how it overlaps the Gnus. We want to put this on the right side. From the axis label and bar tab, select label Properties/Side=Opposite.
  7. Label the x axis to label it. If graph 1 is the current graph, noticed how it is greyed out because only 1 x axis need be active. Select graph 0 and you should now be able to alter the axis label.
  8. You are ready to read in data. Just make sure the graph that is active when you read in the data (or create your set) is the one in which you intend it to go.

10. Hot Links

Hot links are a way of of updating a set without having to delete it first and then reread it. The Hot Links window is opened available under Main:Data/Hot links.

10.1 File containing a Single Set

The simplest hot link is to a file containing just one set. To make a hot link to a single set, we must first select the set we want to get updated and then specify the file. We may also link to a pipe in which case we must specify it is a pipe to which we are linking. A command may also be entered which will be run every time the hot link is updated. A common command might be autoscale which will make sure that the entire set can be seen if it changes size. It's possible you may want to execute more commands than one. One could, for example, have a set that is a function of 2 sets that needs to be recomputed if either set is updated. If this is the case, put your commands in a file and then use the "READ BATCH" command.

Pressing the Link button will now create the link and if the update button is pressed, the set will be updated with the current contents of the file you linked and the contents of the Command widget will be executed.

For a simple example, read in the set 10.1.dat and set up the hot link. Now, run the command shiftdata.sh and update the hotlink. You should have seen the peak in the graph shift. Try repeating this a couple of more times.

10.2 Multiple sets within a file

Sometimes a data file may contain multiple columns of data and we would like to be able to link to all or some of those columns. To specify this, select as many sets as there are xy columns of data in the file. The "x y1 y2" format is assumed. Choose the file the data and link. Now in the link list, the links will show the file name with an appended colon and number. The number tells what column of data the link refers to. Any unwanted columns may be selected and unlinked at this point. When the update button is selected, all sets in the graph will be updated.

10.3 Updating by hot keys

Instead of having to keep the Hot links window open all the time, the update action is bound to alt-u. If you find that alt-u has no effect, try double clicking inside the graph you want to update and close the window that pops up. This will "alert" the canvas to process future hot key strokes.

./usr/share/doc/grace/7.1.2.agr.gz0000644000000000000000000000626706671062261015252 0ustar rootrootYێ} H6``@;oJK/GT(խ 4ػê[թ謹SSXmڮyf82Bi_oTV4]W?]z̏]Re[<|zզ+QڗwR>T3XwA . }L@UD'Fί6 ~|6h(L7xC/6C~; b)m{fxFZXws:_>2>=7;Vͷn<cPS5vtz8E}0⾩kY}xmAp@L8",IN΄S<*©""L8".iNOmE_fWmdC_y-A*nHQZbJ[ K}ͮwSe?Vӷ8|z{iwUa*L1V!b}rv%JmsZ+HbK{\)?|O-4|y-<@#^E3V55:N;ow/Ή5K+bC<KRfshԫh#RY5ʅ]f|#~lf3cW$Px]c뱟qΑD=Wؿn1OW df'/N]eQW'_\G< tgdm-_:tkfjv8VZ>? mnQ.";-.>ևfULjE'Ƽ6v[9+vBZw|)$KR%h.9.>zP3VִGOٚouD6Y粉9:yQ,?Aƭ9[Pp \8\#p\\\\\7ff(Hn< })רi1 ;?B$ZX'Z9Eku|#a FyIKbEU<< k8M{C%' 5ŭEP:2Y)&(Icd`t|!K!"m Cxڈkc+ZV Kfďu*i~LJxȩ^ѳ kѵ`!QDN~0=~#ZB.Y#(Сbo)'5c`^"2R60u4OS:` NKO u`/OY׉T1q&((VsW$!=9(,upV6" H~H\B9`As`{Jҹ2ku U3(Ё.ry -.xIHA3+.a+J2H֧%֌cS*XCGqI@Y6L8A,Q\ h#e%" @aL/ S+")%Fx Ts$b(8DnW uleJ2zh$50A(,UVal恑/*N~RJL9'}:! ³ڗc 0 Szek0Gk_Iy!5Eՙ4*N^483gN{xsL IA8^S+2@p8h5t\YI+B9Z ;0XϕՀga V%/ urv!\Y.Rxՠw\-Z"˕(c 0RP`/gtxe3zCkR޷4odnyE bz !:΂8Ж5vPLb> BX gi5h̨@oyI*fל*ՠ( !VN_-/ ҸX f4mbpIZN"ՀS$zAA8얇*7B,AAV0*VUأ x3PeO5./usr/share/doc/grace/UsersGuide.html0000644000000000000000000046306111015105576016432 0ustar rootroot

Click on Apply to perform the operation. The resultant set will be the expression evaluated only on points contained in the specified region. Thus, if no expression was specified, the effect is to produce a new set of only those points contained in the region. Conversely, to delete points in a region, leave the expression empty, and negate the region selection.

8. Using Pipes

Pipes are a way of capturing the output of a running process without the intermediary step of pacing the output in a file. Instead, the executing program puts the data in one end of the pipe, and Grace reads it from the other end of the pipe.

8.1 Instead of data files

On certain popups, e.g. Main:Data/Import/ASCII, the option to read from a file or pipe can be specified. If a pipe is chosen, the command in the selection widget will be run and the stdout will be captured and treated as though it was data which was read from a file.

8.2 Named pipes

A named pipe is a special case of the pipe previously described. In the previous case, after the program has finished execution and the output had been read, the pipe was destroyed. A named pipe is a static structure with the property that multiple processes can write to and/or read from it. The purpose of using a named pipe with Grace is to start up a Grace window and then control Grace by sending commands and data through a named pipe. This is very powerful and lets you do practically anything you can do directly from the GUI. To use this feature, try the following:

  1. Start a named pipe (you will have to find the command specific to your operating system. For example, it could be mkfifo or mknod): mkfifo pvc. If you do a directory listing, you should see the file pvc.
  2. Start up Grace in the background using the named pipe option: xmgrace -npipepvc&. Grace is now monitoring the pipe for any data which might be sent to it. It will interpret things as though they were entered using the command interpreter.
  3. For a simple test, we will create a simple graph over the pipe. From your command line, type: echo "read \"8.2.dat\"" > pvc. (The back slashes are needed to escape the quotation marks so that Grace really received the command :read "8.2.dat".) This just told Grace to read the file data. Now we would like to autoscale. We could simply click on the button but the point is to use a named pipe. This time we type echo autoscale > pvc followed by echo redraw > pvc. Your graph should now have autoscaled and redrawn. Exit Grace with echo exit > pvc. You should also clean up by removing pvc.
  4. The true power in named pipes lies in driving Grace using another program. The controlling program can open a named pipe for writing, which is treated as an ordinary file. It can be opened with the fopen() function or whatever other I/O function you prefer. Commands and data are then written to the file where they are interpreted by Grace.

9. Multiple Graphs

9.1 Selecting graphs

When multiple graphs are present, a graph is selected by clicking inside the graph frame. In cases where graph frames overlap, clicking will cycle among the overlapping graphs.

It might be annoying if one is trying to work in a region of overlapping graphs. If will not be possible to double click on something because the each click will be interpreted as a single click and you will only end up changing the graph focus. In such an instance, turning off the graph selection by clicking might be desirable. Choose Main:Edit/Preferences and then set Misc:Graph_focus to "As set". This means one must explicitly set the focus. Simply bring up a graph list (eg. Main:Edit/Overlay_graphs is but one), select the graph you want to work on and then, using the menu under mouse button 3, choose "Focus to".

Arranging a tableau of graphs

Placing a large number of regularly spaced graphs is easily done with Main:Edit/Arrange_graphs. This will automatically calculate the layout:

  1. Choose 3 rows and 3 columns and Apply. You should now see 9 graphs. The Order button refers to the way the graphs are numbered. The beginning of the line on the diagram of the button shows which graph is numbered 0 and how the numbers increase, by row or column.
  2. You realize you need horizontal packing, i.e. no horizontal gap between graphs. Click on the Pack button beside the Hgap/width input and then Apply.
  3. Suddenly, you realize you only need 6 graphs and not 9. Choose 2 rows and press Apply. There is a slight problem as graphs 6, 7 an 8 are still visible. This is a feature since you don't want to accidentally kill a graph. You can kill the extra graphs by clicking on the "Kill extra graphs" check box. Now, any graphs other than the explicitly arranged ones will be automatically killed.
  4. The margins are controlled by the Page Offsets, and the intergraph spacing by the Hgap and Vgap inputs.
  5. Press close to remove the window.

Note that only graphs which are selected are taken into consideration. So, if you wish to reorganize your existing graphs, make sure they are selected or new ones may be created.

Arranging individual graphs

Arranging individual graphs may either be done (1) exactly, by specifying the viewport coordinates from Main:Plot/Graph_appearance or using the previously explained Arrange graphs popup, or (2) roughly, by double clicking a graph focus marker and then moving it.

9.2 Overlaying Graphs

Overlaying one graph onto another is useful for creating a graph with two different x axes and/or y axes. For example, you may wish to have a graph which on the x axis has the month of the year. There could be 2 curves on it, one using the left y axis which is number of gnus sold and one using the right y-axis which is the number of gnats exported on a logarithmic scale. Likewise, if one is plotting spectral data, one could have one x axis in Hz and another one in wavelength. Let's proceed with an example:data

  1. Begin by selecting Main:Edit/Overlay graphs to bring up the Overlay widget.
  2. Select the graph numbers with which we would like to deal. In this example, we will overlay graph 1 onto graph 0. At this point, only graph 0 is visible. We cannot see Graph 1 to select since it does not exist at this point. We need to create simply by pressing mouse button 3 in a graph list window and selecting create new.
  3. The overlay type is determined by what is common among the overlayed graphs. In our example, the x axis is common so we will select X-axes same, Y-axes different. This is important because we don't want to alter any axes of the Overlay graph which we set the same as the underlay graph. In this example, we don't want to alter the x-axis of graph 1.
  4. We are now ready to label the graph axes and read the data. One thing we must be careful to do is to always make sure that we are working on the intended graph. Seeing as the graphs are overlain, clicking within the frame is ambiguous as to what graph is selected. The rule is that in a region of overlay, clicking will cycle between the graphs. Hence, if graph 1 is selecting, clicking within the frame will toggle to graph 0.
  5. Making sure that graph 0 is active, bring up the Axis properties widget. Now set the y axis title to Gnus.
  6. Select graph 1 as active as set the title as Gnats. Notice how it overlaps the Gnus. We want to put this on the right side. From the axis label and bar tab, select label Properties/Side=Opposite.
  7. Label the x axis to label it. If graph 1 is the current graph, noticed how it is greyed out because only 1 x axis need be active. Select graph 0 and you should now be able to alter the axis label.
  8. You are ready to read in data. Just make sure the graph that is active when you read in the data (or create your set) is the one in which you intend it to go.

10. Hot Links

Hot links are a way of of updating a set without having to delete it first and then reread it. The Hot Links window is opened available under Main:Data/Hot links.

10.1 File containing a Single Set

The simplest hot link is to a file containing just one set. To make a hot link to a single set, we must first select the set we want to get updated and then specify the file. We may also link to a pipe in which case we must specify it is a pipe to which we are linking. A command may also be entered which will be run every time the hot link is updated. A common command might be autoscale which will make sure that the entire set can be seen if it changes size. It's possible you may want to execute more commands than one. One could, for example, have a set that is a function of 2 sets that needs to be recomputed if either set is updated. If this is the case, put your commands in a file and then use the "READ BATCH" command.

Pressing the Link button will now create the link and if the update button is pressed, the set will be updated with the current contents of the file you linked and the contents of the Command widget will be executed.

For a simple example, read in the set 10.1.dat and set up the hot link. Now, run the command shiftdata.sh and update the hotlink. You should have seen the peak in the graph shift. Try repeating this a couple of more times.

10.2 Multiple sets within a file

Sometimes a data file may contain multiple columns of data and we would like to be able to link to all or some of those columns. To specify this, select as many sets as there are xy columns of data in the file. The "x y1 y2" format is assumed. Choose the file the data and link. Now in the link list, the links will show the file name with an appended colon and number. The number tells what column of data the link refers to. Any unwanted columns may be selected and unlinked at this point. When the update button is selected, all sets in the graph will be updated.

10.3 Updating by hot keys

Instead of having to keep the Hot links window open all the time, the update action is bound to alt-u. If you find that alt-u has no effect, try double clicking inside the graph you want to update and close the window that pops up. This will "alert" the canvas to process future hot key strokes.

./usr/share/doc/grace/7.1.2.agr.gz0000644000000000000000000000626706671062261015252 0ustar rootrootYێ} H6``@;oJK/GT(խ 4ػê[թ謹SSXmڮyf82Bi_oTV4]W?]z̏]Re[<|zզ+QڗwR>T3XwA . }L@UD'Fί6 ~|6h(L7xC/6C~; b)m{fxFZXws:_>2>=7;Vͷn<cPS5vtz8E}0⾩kY}xmAp@L8",IN΄S<*©""L8".iNOmE_fWmdC_y-A*nHQZbJ[ K}ͮwSe?Vӷ8|z{iwUa*L1V!b}rv%JmsZ+HbK{\)?|O-4|y-<@#^E3V55:N;ow/Ή5K+bC<KRfshԫh#RY5ʅ]f|#~lf3cW$Px]c뱟qΑD=Wؿn1OW df'/N]eQW'_\G< tgdm-_:tkfjv8VZ>? mnQ.";-.>ևfULjE'Ƽ6v[9+vBZw|)$KR%h.9.>zP3VִGOٚouD6Y粉9:yQ,?Aƭ9[Pp \8\#p\\\\\7ff(Hn< })רi1 ;?B$ZX'Z9Eku|#a FyIKbEU<< k8M{C%' 5ŭEP:2Y)&(Icd`t|!K!"m Cxڈkc+ZV Kfďu*i~LJxȩ^ѳ kѵ`!QDN~0=~#ZB.Y#(Сbo)'5c`^"2R60u4OS:` NKO u`/OY׉T1q&((VsW$!=9(,upV6" H~H\B9`As`{Jҹ2ku U3(Ё.ry -.xIHA3+.a+J2H֧%֌cS*XCGqI@Y6L8A,Q\ h#e%" @aL/ S+")%Fx Ts$b(8DnW uleJ2zh$50A(,UVal恑/*N~RJL9'}:! ³ڗc 0 Szek0Gk_Iy!5Eՙ4*N^483gN{xsL IA8^S+2@p8h5t\YI+B9Z ;0XϕՀga V%/ urv!\Y.Rxՠw\-Z"˕(c 0RP`/gtxe3zCkR޷4odnyE bz !:΂8Ж5vPLb> BX gi5h̨@oyI*fל*ՠ( !VN_-/ ҸX f4mbpIZN"ՀS$zAA8얇*7B,AAV0*VUأ x3PeO5./usr/share/doc/grace/UsersGuide.html0000644000000000000000000046306111015105576016432 0ustar rootroot

Click on Apply to perform the operation. The resultant set will be the expression evaluated only on points contained in the specified region. Thus, if no expression was specified, the effect is to produce a new set of only those points contained in the region. Conversely, to delete points in a region, leave the expression empty, and negate the region selection.

8. Using Pipes

Pipes are a way of capturing the output of a running process without the intermediary step of pacing the output in a file. Instead, the executing program puts the data in one end of the pipe, and Grace reads it from the other end of the pipe.

8.1 Instead of data files

On certain popups, e.g. Main:Data/Import/ASCII, the option to read from a file or pipe can be specified. If a pipe is chosen, the command in the selection widget will be run and the stdout will be captured and treated as though it was data which was read from a file.

8.2 Named pipes

A named pipe is a special case of the pipe previously described. In the previous case, after the program has finished execution and the output had been read, the pipe was destroyed. A named pipe is a static structure with the property that multiple processes can write to and/or read from it. The purpose of using a named pipe with Grace is to start up a Grace window and then control Grace by sending commands and data through a named pipe. This is very powerful and lets you do practically anything you can do directly from the GUI. To use this feature, try the following:

  1. Start a named pipe (you will have to find the command specific to your operating system. For example, it could be mkfifo or mknod): mkfifo pvc. If you do a directory listing, you should see the file pvc.
  2. Start up Grace in the background using the named pipe option: xmgrace -npipepvc&. Grace is now monitoring the pipe for any data which might be sent to it. It will interpret things as though they were entered using the command interpreter.
  3. For a simple test, we will create a simple graph over the pipe. From your command line, type: echo "read \"8.2.dat\"" > pvc. (The back slashes are needed to escape the quotation marks so that Grace really received the command :read "8.2.dat".) This just told Grace to read the file data. Now we would like to autoscale. We could simply click on the button but the point is to use a named pipe. This time we type echo autoscale > pvc followed by echo redraw > pvc. Your graph should now have autoscaled and redrawn. Exit Grace with echo exit > pvc. You should also clean up by removing pvc.
  4. The true power in named pipes lies in driving Grace using another program. The controlling program can open a named pipe for writing, which is treated as an ordinary file. It can be opened with the fopen() function or whatever other I/O function you prefer. Commands and data are then written to the file where they are interpreted by Grace.

9. Multiple Graphs

9.1 Selecting graphs

When multiple graphs are present, a graph is selected by clicking inside the graph frame. In cases where graph frames overlap, clicking will cycle among the overlapping graphs.

It might be annoying if one is trying to work in a region of overlapping graphs. If will not be possible to double click on something because the each click will be interpreted as a single click and you will only end up changing the graph focus. In such an instance, turning off the graph selection by clicking might be desirable. Choose Main:Edit/Preferences and then set Misc:Graph_focus to "As set". This means one must explicitly set the focus. Simply bring up a graph list (eg. Main:Edit/Overlay_graphs is but one), select the graph you want to work on and then, using the menu under mouse button 3, choose "Focus to".

Arranging a tableau of graphs

Placing a large number of regularly spaced graphs is easily done with Main:Edit/Arrange_graphs. This will automatically calculate the layout:

  1. Choose 3 rows and 3 columns and Apply. You should now see 9 graphs. The Order button refers to the way the graphs are numbered. The beginning of the line on the diagram of the button shows which graph is numbered 0 and how the numbers increase, by row or column.
  2. You realize you need horizontal packing, i.e. no horizontal gap between graphs. Click on the Pack button beside the Hgap/width input and then Apply.
  3. Suddenly, you realize you only need 6 graphs and not 9. Choose 2 rows and press Apply. There is a slight problem as graphs 6, 7 an 8 are still visible. This is a feature since you don't want to accidentally kill a graph. You can kill the extra graphs by clicking on the "Kill extra graphs" check box. Now, any graphs other than the explicitly arranged ones will be automatically killed.
  4. The margins are controlled by the Page Offsets, and the intergraph spacing by the Hgap and Vgap inputs.
  5. Press close to remove the window.

Note that only graphs which are selected are taken into consideration. So, if you wish to reorganize your existing graphs, make sure they are selected or new ones may be created.

Arranging individual graphs

Arranging individual graphs may either be done (1) exactly, by specifying the viewport coordinates from Main:Plot/Graph_appearance or using the previously explained Arrange graphs popup, or (2) roughly, by double clicking a graph focus marker and then moving it.

9.2 Overlaying Graphs

Overlaying one graph onto another is useful for creating a graph with two different x axes and/or y axes. For example, you may wish to have a graph which on the x axis has the month of the year. There could be 2 curves on it, one using the left y axis which is number of gnus sold and one using the right y-axis which is the number of gnats exported on a logarithmic scale. Likewise, if one is plotting spectral data, one could have one x axis in Hz and another one in wavelength. Let's proceed with an example:data

  1. Begin by selecting Main:Edit/Overlay graphs to bring up the Overlay widget.
  2. Select the graph numbers with which we would like to deal. In this example, we will overlay graph 1 onto graph 0. At this point, only graph 0 is visible. We cannot see Graph 1 to select since it does not exist at this point. We need to create simply by pressing mouse button 3 in a graph list window and selecting create new.
  3. The overlay type is determined by what is common among the overlayed graphs. In our example, the x axis is common so we will select X-axes same, Y-axes different. This is important because we don't want to alter any axes of the Overlay graph which we set the same as the underlay graph. In this example, we don't want to alter the x-axis of graph 1.
  4. We are now ready to label the graph axes and read the data. One thing we must be careful to do is to always make sure that we are working on the intended graph. Seeing as the graphs are overlain, clicking within the frame is ambiguous as to what graph is selected. The rule is that in a region of overlay, clicking will cycle between the graphs. Hence, if graph 1 is selecting, clicking within the frame will toggle to graph 0.
  5. Making sure that graph 0 is active, bring up the Axis properties widget. Now set the y axis title to Gnus.
  6. Select graph 1 as active as set the title as Gnats. Notice how it overlaps the Gnus. We want to put this on the right side. From the axis label and bar tab, select label Properties/Side=Opposite.
  7. Label the x axis to label it. If graph 1 is the current graph, noticed how it is greyed out because only 1 x axis need be active. Select graph 0 and you should now be able to alter the axis label.
  8. You are ready to read in data. Just make sure the graph that is active when you read in the data (or create your set) is the one in which you intend it to go.

10. Hot Links

Hot links are a way of of updating a set without having to delete it first and then reread it. The Hot Links window is opened available under Main:Data/Hot links.

10.1 File containing a Single Set

The simplest hot link is to a file containing just one set. To make a hot link to a single set, we must first select the set we want to get updated and then specify the file. We may also link to a pipe in which case we must specify it is a pipe to which we are linking. A command may also be entered which will be run every time the hot link is updated. A common command might be autoscale which will make sure that the entire set can be seen if it changes size. It's possible you may want to execute more commands than one. One could, for example, have a set that is a function of 2 sets that needs to be recomputed if either set is updated. If this is the case, put your commands in a file and then use the "READ BATCH" command.

Pressing the Link button will now create the link and if the update button is pressed, the set will be updated with the current contents of the file you linked and the contents of the Command widget will be executed.

For a simple example, read in the set 10.1.dat and set up the hot link. Now, run the command shiftdata.sh and update the hotlink. You should have seen the peak in the graph shift. Try repeating this a couple of more times.

10.2 Multiple sets within a file

Sometimes a data file may contain multiple columns of data and we would like to be able to link to all or some of those columns. To specify this, select as many sets as there are xy columns of data in the file. The "x y1 y2" format is assumed. Choose the file the data and link. Now in the link list, the links will show the file name with an appended colon and number. The number tells what column of data the link refers to. Any unwanted columns may be selected and unlinked at this point. When the update button is selected, all sets in the graph will be updated.

10.3 Updating by hot keys

Instead of having to keep the Hot links window open all the time, the update action is bound to alt-u. If you find that alt-u has no effect, try double clicking inside the graph you want to update and close the window that pops up. This will "alert" the canvas to process future hot key strokes.

./usr/share/doc/grace/7.1.2.agr.gz0000644000000000000000000000626706671062261015252 0ustar rootrootYێ} H6``@;oJK/GT(խ 4ػê[թ謹SSXmڮyf82Bi_oTV4]W?]z̏]Re[<|zզ+QڗwR>T3XwA . }L@UD'Fί6 ~|6h(L7xC/6C~; b)m{fxFZXws:_>2>=7;Vͷn<cPS5vtz8E}0⾩kY}xmAp@L8",IN΄S<*©""L8".iNOmE_fWmdC_y-A*nHQZbJ[ K}ͮwSe?Vӷ8|z{iwUa*L1V!b}rv%JmsZ+HbK{\)?|O-4|y-<@#^E3V55:N;ow/Ή5K+bC<KRfshԫh#RY5ʅ]f|#~lf3cW$Px]c뱟qΑD=Wؿn1OW df'/N]eQW'_\G< tgdm-_:tkfjv8VZ>? mnQ.";-.>ևfULjE'Ƽ6v[9+vBZw|)$KR%h.9.>zP3VִGOٚouD6Y粉9:yQ,?Aƭ9[Pp \8\#p\\\\\7ff(Hn< })רi1 ;?B$ZX'Z9Eku|#a FyIKbEU<< k8M{C%' 5ŭEP:2Y)&(Icd`t|!K!"m Cxڈkc+ZV Kfďu*i~LJxȩ^ѳ kѵ`!QDN~0=~#ZB.Y#(Сbo)'5c`^"2R60u4OS:` NKO u`/OY׉T1q&((VsW$!=9(,upV6" H~H\B9`As`{Jҹ2ku U3(Ё.ry -.xIHA3+.a+J2H֧%֌cS*XCGqI@Y6L8A,Q\ h#e%" @aL/ S+")%Fx Ts$b(8DnW uleJ2zh$50A(,UVal恑/*N~RJL9'}:! ³ڗc 0 Szek0Gk_Iy!5Eՙ4*N^483gN{xsL IA8^S+2@p8h5t\YI+B9Z ;0XϕՀga V%/ urv!\Y.Rxՠw\-Z"˕(c 0RP`/gtxe3zCkR޷4odnyE bz !:΂8Ж5vPLb> BX gi5h̨@oyI*fל*ՠ( !VN_-/ ҸX f4mbpIZN"ՀS$zAA8얇*7B,AAV0*VUأ x3PeO5./usr/share/doc/grace/UsersGuide.html0000644000000000000000000046306111015105576016432 0ustar rootroot

Click on Apply to perform the operation. The resultant set will be the expression evaluated only on points contained in the specified region. Thus, if no expression was specified, the effect is to produce a new set of only those points contained in the region. Conversely, to delete points in a region, leave the expression empty, and negate the region selection.

8. Using Pipes

Pipes are a way of capturing the output of a running process without the intermediary step of pacing the output in a file. Instead, the executing program puts the data in one end of the pipe, and Grace reads it from the other end of the pipe.

8.1 Instead of data files

On certain popups, e.g. Main:Data/Import/ASCII, the option to read from a file or pipe can be specified. If a pipe is chosen, the command in the selection widget will be run and the stdout will be captured and treated as though it was data which was read from a file.

8.2 Named pipes

A named pipe is a special case of the pipe previously described. In the previous case, after the program has finished execution and the output had been read, the pipe was destroyed. A named pipe is a static structure with the property that multiple processes can write to and/or read from it. The purpose of using a named pipe with Grace is to start up a Grace window and then control Grace by sending commands and data through a named pipe. This is very powerful and lets you do practically anything you can do directly from the GUI. To use this feature, try the following:

  1. Start a named pipe (you will have to find the command specific to your operating system. For example, it could be mkfifo or mknod): mkfifo pvc. If you do a directory listing, you should see the file pvc.
  2. Start up Grace in the background using the named pipe option: xmgrace -npipepvc&. Grace is now monitoring the pipe for any data which might be sent to it. It will interpret things as though they were entered using the command interpreter.
  3. For a simple test, we will create a simple graph over the pipe. From your command line, type: echo "read \"8.2.dat\"" > pvc. (The back slashes are needed to escape the quotation marks so that Grace really received the command :read "8.2.dat".) This just told Grace to read the file data. Now we would like to autoscale. We could simply click on the button but the point is to use a named pipe. This time we type echo autoscale > pvc followed by echo redraw > pvc. Your graph should now have autoscaled and redrawn. Exit Grace with echo exit > pvc. You should also clean up by removing pvc.
  4. The true power in named pipes lies in driving Grace using another program. The controlling program can open a named pipe for writing, which is treated as an ordinary file. It can be opened with the fopen() function or whatever other I/O function you prefer. Commands and data are then written to the file where they are interpreted by Grace.

9. Multiple Graphs

9.1 Selecting graphs

When multiple graphs are present, a graph is selected by clicking inside the graph frame. In cases where graph frames overlap, clicking will cycle among the overlapping graphs.

It might be annoying if one is trying to work in a region of overlapping graphs. If will not be possible to double click on something because the each click will be interpreted as a single click and you will only end up changing the graph focus. In such an instance, turning off the graph selection by clicking might be desirable. Choose Main:Edit/Preferences and then set Misc:Graph_focus to "As set". This means one must explicitly set the focus. Simply bring up a graph list (eg. Main:Edit/Overlay_graphs is but one), select the graph you want to work on and then, using the menu under mouse button 3, choose "Focus to".

Arranging a tableau of graphs

Placing a large number of regularly spaced graphs is easily done with Main:Edit/Arrange_graphs. This will automatically calculate the layout:

  1. Choose 3 rows and 3 columns and Apply. You should now see 9 graphs. The Order button refers to the way the graphs are numbered. The beginning of the line on the diagram of the button shows which graph is numbered 0 and how the numbers increase, by row or column.
  2. You realize you need horizontal packing, i.e. no horizontal gap between graphs. Click on the Pack button beside the Hgap/width input and then Apply.
  3. Suddenly, you realize you only need 6 graphs and not 9. Choose 2 rows and press Apply. There is a slight problem as graphs 6, 7 an 8 are still visible. This is a feature since you don't want to accidentally kill a graph. You can kill the extra graphs by clicking on the "Kill extra graphs" check box. Now, any graphs other than the explicitly arranged ones will be automatically killed.
  4. The margins are controlled by the Page Offsets, and the intergraph spacing by the Hgap and Vgap inputs.
  5. Press close to remove the window.

Note that only graphs which are selected are taken into consideration. So, if you wish to reorganize your existing graphs, make sure they are selected or new ones may be created.

Arranging individual graphs

Arranging individual graphs may either be done (1) exactly, by specifying the viewport coordinates from Main:Plot/Graph_appearance or using the previously explained Arrange graphs popup, or (2) roughly, by double clicking a graph focus marker and then moving it.

9.2 Overlaying Graphs

Overlaying one graph onto another is useful for creating a graph with two different x axes and/or y axes. For example, you may wish to have a graph which on the x axis has the month of the year. There could be 2 curves on it, one using the left y axis which is number of gnus sold and one using the right y-axis which is the number of gnats exported on a logarithmic scale. Likewise, if one is plotting spectral data, one could have one x axis in Hz and another one in wavelength. Let's proceed with an example:data

  1. Begin by selecting Main:Edit/Overlay graphs to bring up the Overlay widget.
  2. Select the graph numbers with which we would like to deal. In this example, we will overlay graph 1 onto graph 0. At this point, only graph 0 is visible. We cannot see Graph 1 to select since it does not exist at this point. We need to create simply by pressing mouse button 3 in a graph list window and selecting create new.
  3. The overlay type is determined by what is common among the overlayed graphs. In our example, the x axis is common so we will select X-axes same, Y-axes different. This is important because we don't want to alter any axes of the Overlay graph which we set the same as the underlay graph. In this example, we don't want to alter the x-axis of graph 1.
  4. We are now ready to label the graph axes and read the data. One thing we must be careful to do is to always make sure that we are working on the intended graph. Seeing as the graphs are overlain, clicking within the frame is ambiguous as to what graph is selected. The rule is that in a region of overlay, clicking will cycle between the graphs. Hence, if graph 1 is selecting, clicking within the frame will toggle to graph 0.
  5. Making sure that graph 0 is active, bring up the Axis properties widget. Now set the y axis title to Gnus.
  6. Select graph 1 as active as set the title as Gnats. Notice how it overlaps the Gnus. We want to put this on the right side. From the axis label and bar tab, select label Properties/Side=Opposite.
  7. Label the x axis to label it. If graph 1 is the current graph, noticed how it is greyed out because only 1 x axis need be active. Select graph 0 and you should now be able to alter the axis label.
  8. You are ready to read in data. Just make sure the graph that is active when you read in the data (or create your set) is the one in which you intend it to go.

10. Hot Links

Hot links are a way of of updating a set without having to delete it first and then reread it. The Hot Links window is opened available under Main:Data/Hot links.

10.1 File containing a Single Set

The simplest hot link is to a file containing just one set. To make a hot link to a single set, we must first select the set we want to get updated and then specify the file. We may also link to a pipe in which case we must specify it is a pipe to which we are linking. A command may also be entered which will be run every time the hot link is updated. A common command might be autoscale which will make sure that the entire set can be seen if it changes size. It's possible you may want to execute more commands than one. One could, for example, have a set that is a function of 2