GNUPlot:如何将所有WXT终端复制到PNG终端?

GNUPlot:如何将所有WXT终端复制到PNG终端?,plot,terminal,png,gnuplot,Plot,Terminal,Png,Gnuplot,我有一个启动GNUPlot的Java程序 Runtime.getRuntime().exec("gnuplot"); Java通过输出流与它通信。现在我正在用不同的图创建许多不同的终端 set term wxt [terminalId] 不同终端的plot命令包括函数打印和数据点打印(因此plot命令类似于“plot sin(x),cos(x),'-';”)。数据点以以下格式发送: 0 0; 1 1; 2 2; 3 3; e; 我正在尝试将完成的绘图导出为PNG(或其他图像格式) for(

我有一个启动GNUPlot的Java程序

Runtime.getRuntime().exec("gnuplot");
Java通过输出流与它通信。现在我正在用不同的图创建许多不同的终端

set term wxt [terminalId]
不同终端的plot命令包括函数打印和数据点打印(因此plot命令类似于“plot sin(x),cos(x),'-';”)。数据点以以下格式发送:

0 0;
1 1;
2 2;
3 3;
e;
我正在尝试将完成的绘图导出为PNG(或其他图像格式)

for(int-terminalId=0;terminalId

我的问题是我的数据点没有被重新填充。我认为replot实际上只是再次发送“plot…”命令,而不是重复数据点列表,这些数据点应该在之后发送。如何在PNG终端上再次准确地绘制WXT终端上已经存在的内容?

对于任何不使用Java的人,问题可以从shell中重现,如下所示:

gnuplot <<EOF
p sin(x), cos(x), '-'
0 0
1 1
2 2
e
set term png
set out 'plt.png'
rep
EOF

谢谢这就是解决办法。@Torben没问题,我在这个过程中学到了一些东西!很高兴你把它整理好了。不过我做的有点不同。您的解决方案让我想到将命令写入GNUPlot脚本,然后加载该脚本。
gnuplot <<EOF
p sin(x), cos(x), '-'
0 0
1 1
2 2
e
set term png
set out 'plt.png'
rep
EOF
gnuplot <<EOF
set table 'term1.dat'
plot '-' 
0 0
1 1
2 2
e
unset table
plot sin(x), cos(x), 'term1.dat'
set term png
set out 'plt.png'
rep
EOF