2013-07-16 147 views
0

我有这样一段代码gnuplot的:隐藏窗口

int draw_cell_bary(char *filename, char *filenameOutput, int format){ 

char buff[500]; 
FILE *f; 

char draw_name_file_pattern[] = "%s%s%s%s%s"; 
f = popen("gnuplot", "w"); 
//sprintf(buff, draw_name_file_pattern ,"plot '",filename,"' with lines,' \n set term postscript\n set output \"",filenameOutput,"\"\n replot\n"); 
switch(format){ 
    case 1: 
     sprintf(buff, draw_name_file_pattern ,"plot '",filename,"' \n set terminal png\n set output \"",filenameOutput,"\"\n replot\n"); 
     break; 

     sprintf(buff, draw_name_file_pattern ,"plot '",filename,"' \n set term postscript\n set output \"",filenameOutput,"\"\n replot\n"); 
    case 2: 
     break; 

} 
fprintf(f,"%s", buff); 
fflush(f); 
pclose(f); 

return 1; 
} 

此代码工作正常,但是当我用它来创建绘图,窗口出现在弹出,并立刻关闭。 我希望gnuplot中的窗口保持隐藏状态,并且输出是在用户看不到的情况下创建的。

我发现 - 诺拉斯,但我不知道如果这就是我想要的。

感谢

回答

0

plot命令是第一个在要发送到GNUPLOT的命令 - 因为默认终端并未改变,gnuplot的地块到屏幕上,然后消失。

如果您在set terminal ...; set output之后移动plot命令,那么该窗口将不会出现,您将不需要命令replot

+0

工作很好!谢谢 ! – user2550416