gnuplot中的行增量

时间:2016-11-13 12:45:21

标签: sed gnuplot

我在x轴上有大文件(~5 Gbs)丝毫恒定增量,假设每个 dt

我想知道我是否可以将Gnuplot的every命令设置为对数增量而不是线性的。

plot "fileA.txt" u 1:2 every dt #linear increment of dt

这是因为,如果x轴是对数刻度,那么我希望在(10 ^ -4,10 ^ -2)中有更多的低x值的点,但也不是(10 ^ 4,10 ^ 2)范围。不知何故,差异增量。

我是否必须使用sed之类的外部程序来重新编写我的文件?

包括测试图以及数据。 Plot蓝色表示完整数据,红色表示every命令。正如你可以看到一个松散的信息,简短的x也过度采样大x的图。 the data file

非常感谢。

1 个答案:

答案 0 :(得分:3)

您可以使用点绘制平滑数据:

set key left
set logscale x
set yrange [3.9:4.8]

set samples 30

set terminal png
set output "log.png"
plot "fort.11" title "raw" with points lc 3 pointtype 5 pointsize 2,\
     "" title "smooth" smooth csplines with points lc 1 pointtype 5 pointsize 1
  • set samples 30告诉gnuplot在x
  • 中等距离使用30个点
  • smooth csplines插入数据点
  • with points用点而不是线绘图,这是默认的

请注意,这不会绘制原始数据,如果原始数据点相距太远,则smooth csplines会引入新点。这可能是也可能不是你想要的。

compare original and smoothed data