plot.c

来自「A Library of Efficient Data Types and Al」· C语言 代码 · 共 87 行

C
87
字号
#include <LEDA/basic.h>#include <fstream.h>#include "gnuplot.h"using namespace leda;#if defined(LEDA_STD_IO_HEADERS)using std::cout;using std::cin;using std::cerr;using std::flush;using std::endl;#endifint main(int argc,char** argv){     	    		 	    if (argc < 2)  { cerr << "usage: plot file1 file2 ...";    return 1;   }  gnuplot_ctrl GP("gp");  for(int num=1; num<argc; num++)  {    ifstream in_file(argv[num]);    string title;    string x_label;    string y_label;    string name;      title.read_line(in_file);    x_label.read_line(in_file);    y_label.read_line(in_file);    name.read_line(in_file);     int    size;    in_file >> size;      double* X = new double[size];    double* Y = new double[size];      for(int i=0; i<size; i++) in_file >> X[i] >> Y[i];      if (num == 1)    { GP.set_title(title);      GP.set_xlabel(x_label);      GP.set_ylabel(y_label);      GP.set_style(gp_style::linespoints);         double max_y = 0;      double min_y = MAXINT;      for(int i=0; i<size; i++)      { double y = Y[i];        if (y > max_y) max_y = y;        if (y < min_y) min_y = y;       }          GP.set_xrange("*",string("%f",1.1*X[size-1]));      GP.set_yrange("*",string("%f",1.1*max_y));     }            GP.plot_xy(X,Y,size,name);    delete[] X;    delete[] Y;     }    GP.set_timestamp();  GP.set_terminal(gp_terminal::postscript);    GP.set_output("gnuplot.ps");  GP.replot();  Yes("Hit <ENTER> to continue.");  GP.close();  return 0;}  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?