Gnuplot无法绘制数据文件,提示空的x轴范围和y轴范围。

4

这可能看起来微不足道,但我使用Excel处理了一些来自我的程序的数据,然后以tsv格式输出数据。我想用gnuplot绘制它,没有比plot"文件名"更复杂的操作,但是gnuplot会产生一个空图并闪现出有关empty xrangeempty yrange的警告。数据如下所示。有人能看出问题在哪里吗?

非常感谢

 0.0000     0.0
 360.002716 0.04424679
 1260.00952 -0.053663898
 2160.00659 0.118732237
 3060.00342 0.109153613
 3960.00049 -0.002001554
 4860.00732 0.281198434
 5760.00439 0.359723032
 6660.00098 0.559242511

更新:奇怪的是,如果我将上面的数据从这个网页复制到数据文件中,覆盖已经存在的数据,gnuplot会正常绘图。这似乎非常奇怪,因为上面的数据首先是从文件中复制出来的。可能在复制和粘贴过程中丢失或更改了一些格式?

操作系统是OSX Mavericks。我相信Gnuplot是4.6.3版本。我觉得这非常奇怪。我猜这一定与文件格式有关,但我就是看不出问题在哪里。 - crevell
不同类型的空白字符不应该是问题。确保您没有任何奇怪的设置。尝试仅使用 reset; plot "filename" - Christoph
重置命令不起作用,很遗憾。在文本文件中显示不可见字符会在数据点之间显示小三角形。这些应该是制表符吧? - crevell
你需要使用制表符分隔吗?将文件保存为.csv格式可能更加可靠。 - vaettchen
刚刚尝试了保存为 .csv,现在似乎可以工作了。非常感谢您的提示!虽然我仍然不明白 tsv 文件出了什么问题,但没关系,至少现在我可以绘制数据了。 - crevell
显示剩余2条评论
2个回答

3

回答有点晚,但我也遇到了同样的问题。

我的问题是gnuplot期望CRLF作为行结束符,但它只有CR,这使得它出现了错误。

在记事本中打开文件,查看是否将所有内容都显示在一行中。记事本无法识别只有CR作为换行符。


是的,确实如此。仅使用CR会出现问题。但除了CRLF之外,也可以仅使用LF。 - Christoph

0
如果您輸出 tsv,我懷疑 gnuplot 在偵測欄位分隔符時可能會遇到問題(儘管根據我的經驗,在 *nix 下這不是問題)。您可以使用以下命令手動設置分隔符。
set datafile separator "\t"

否则,您的数据文件看起来很好。


谢谢,但我实际上已经尝试过了,但没有用。非常令人困惑,但我不确定还能说些什么来描述这个问题。 - crevell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接