用gnuplot绘制带有线点的文件,但减少点数

4

我想在 Gnuplot 中用 linespoints 来绘制文件,但线条使用了所有数据样本而点只使用了较少的数据样本。例如,以下文件绘制了数据,但线条完全不可见。

set terminal png
set out "plot_sample.png"
plot [t=-1000:1000] t w linespoints pt 64 lt 10 ps 1.5

如果我想为点定义自定义采样间隔,但对于线条使用所有数据样本,该怎么做呢?我可以在同一图中进行两个单独的绘图,但是这样键将分别显示它们。
2个回答

10

使用pointinterval来减少绘制的数据点数量,但保留所有点以绘制线条:

set samples 100
plot x**2 w linespoints pointinterval 10

你打败了我 m(_ _)m - Tom Solid
@gnzlbg pointinterval 是针对 linespoints 的一个选项。要仅绘制每十个点,请使用 plot ... every 10 with points - Christoph
1
但是 every 命令只适用于数据点,对吗?如果您想绘制具有点并控制点密度的函数,该怎么办? - Martin
@Martin 这就是“set samples”的作用。 - Christoph

2
  • 使用 every 减少从文件中取样的数量!
  • 将线和点分为两部分绘制,并在其中一个部分使用 notitle
  • 不要忘记“同步”2个图表的颜色!

类似这样:

plot [t=-1000:1000] 'data.dat' w l lt 10 lc 10 t 'something', '' every 10 w p pt 64 ps 1.5 lc 10 notitle

注意事项

every的用法:使用 'alma.dat' 每隔 A:B:C:D:E:F 来绘制图表。

其中:

  • A 是数据增量(每 Ath 个数据点取一个)
  • B 是数据块增量(数据块由空行分隔)
  • C/D 是第一个数据/数据块(从 C/D 开始)
  • E/F 是最后一个数据/数据块(以 E/F 结尾)

你可以使用上述所有功能,但如果不需要,可以留空,例如 ...every 2 或 every 2::1 或 every 2::1:0 等。


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