Auto Refreshing
With this feature, XYGrapher watches data files at a second interval and automatically reloads datafiles and redraw the graph when a data file is changed * or the flag file named "Ready.flg" is not placed in the same folder as the data file that contains first data series. This feature is useful for automatical display of output of a console application such as numerical solution of partical differential equation (unsteady-state problem). By selecting [Option] - [Auto Refresh], a checkmark is appeared and XYGrapher enters into auto-refreshing mode. Select again if you want to cancel the mode. If other graph (*.fig) is loaded, the auto refreshing mode is automatically terminated. When reload and redraw are completed, a dummy text file named "Ready.flg" is created in the same folder as the first data file. The fastest animation is realized using method that the program checks the existence of the flag file and advances to the next calculation and its file output as shown in the following example with C. The timing of deleting "Ready.flg" is important. Unless it is deleted after the file output, an error that file output is advanced while XYGrapher is loading the file may occur.
Automatical import of output values from other program
Other than XY chart, you may want to display output values at every moment such as the time (in the simulation), predicted value at the observation point, or energy or mass balance. XYGrapher supports such "piping" up to five values through a textfile named "XYGrapher.msg". If the file exists, XYGrapher reads each line, and replaces "#N" in legend or expression (equation) with the string, where N is integer from 1 to 5, corresponding to the line number of "XYGrapher.msg". For example, when you want to display time in a legend, input "t = #1". In this case, numerals in the top line of "XYGrapher.msg" is replaced with #1.
====== Example of using "Ready.flg" =====
FILE *fp;
do {
  do {
    fclose(fp);
    fp = fopen("Ready.flg", "r");
  }
  while(fp == NULL); // Try until "Ready.flg" is found
  fclose(fp);
  /* Main routine */
  /* File output routine */
  unlink("Ready.flg"); // Deleting "Ready.flg"
}
while( )