gnuplot如何理解stdin中的命令行参数?

gnuplot如何理解stdin中的命令行参数?,gnuplot,Gnuplot,我使用gnuplot和以下命令生成了一个图形: echo 'plot [0:14][0:1000] "source_data_file" with steps title "example graph"; pause 15' | gnuplot 我想用xlabel和ylabel参数更改X轴和Y轴的名称,但如果执行: echo 'plot [0:14][0:1000] "source_data_file" with steps title "example graph" xlabel 'X-ax

我使用
gnuplot
和以下命令生成了一个图形:

echo 'plot [0:14][0:1000] "source_data_file" with steps title "example graph"; pause 15' | gnuplot
我想用
xlabel
ylabel
参数更改X轴和Y轴的名称,但如果执行:

echo 'plot [0:14][0:1000] "source_data_file" with steps title "example graph" xlabel 'X-axe label' ylabel 'Y-axe label'; pause 15' | gnuplot
…我收到一条指向
xlabel
的错误消息。我曾尝试用分号分隔参数,但没有效果。此外,我想将Y轴的格式从指数(例如1.8232e+06)更改为整数(例如1823200),但我不知道如何将
格式Y
/
格式x
参数传递给gnuplot

如果命令行参数是从stdin传递给gnuplot的,那么gnuplot如何理解这些参数呢?

@arbautjc是正确的——对于x轴和y轴标签使用单引号有问题。此外,在运行
plot
命令之前,需要指定这些参数。因此,更好的方法是

echo 'set xlabel "X-axe label"; set ylabel "Y-axe label"; plot [0:14][0:1000] "source_data_file" with steps title "example graph"' | gnuplot -p

另外,是否需要执行
pause
命令?(这可能是有原因的,但从你的例子中我看不出来。)

你的报价有问题。根据您的shell,解决此问题的方法可能会有所不同。确切地说,标签使用单引号,但它们应该在单引号字符串中…@arbautjc您能再解释一下吗。你说的“它们应该在一个带引号的字符串中”是什么意思?IMHO它们已经在单引号字符串中。或者你的意思是“它们应该在一个双引号字符串中”?我使用
pause 15
将生成的图形保持打开15秒。否则,图形窗口将立即关闭。但是,您提供的命令不适用于我的gnuplot 4.4(patchlevel 3)。我收到“第0行:无效命令”错误消息..我更改了
echo'xlabel“X轴标签”;ylabel“Y轴标签”;绘图[0:14][0:1000]“源数据文件”,步骤标题为“示例图”;暂停15'| gnuplot
echo'设置xlabel“X轴标签”;设置标签“Y轴标签”;绘图[0:14][0:1000]“源数据文件”,步骤标题为“示例图”;暂停15'| gnuplot
,现在它可以根据需要工作了。谢谢