使用不同颜色在3d中打印块数据,并在Gnuplot或Octave中平滑线条

使用不同颜色在3d中打印块数据,并在Gnuplot或Octave中平滑线条,gnuplot,octave,Gnuplot,Octave,我正在尝试(使用Gnuplot)从一个文件中绘制一些基本的3d数据,非常类似于: N M t1 t2 t3 t4 1000 1000 0.05268 0.04711 0.003947 0.003348 1000 2000 0.05743 0.04214 0.007577 0.006486 1000 3000 0.08465 0.04193 0.011329 0.009654 2000 1000 0.10726 0.08845 0.013593

我正在尝试(使用Gnuplot)从一个文件中绘制一些基本的3d数据,非常类似于:

N     M    t1      t2       t3       t4
1000 1000 0.05268 0.04711 0.003947 0.003348
1000 2000 0.05743 0.04214 0.007577 0.006486
1000 3000 0.08465 0.04193 0.011329 0.009654


2000 1000 0.10726 0.08845 0.013593 0.012397
2000 2000 0.21065 0.10817 0.026525 0.024390
2000 3000 0.31528 0.16960 0.039772 0.036405


3000 1000 0.25415 0.14845 0.031082 0.026364
3000 2000 0.47345 0.25227 0.060887 0.051840
3000 3000 0.70612 0.36866 0.091311 0.077432
这个想法是以某种方式绘制它,我可以看到每个N和M的t1、t2、t3和t4。我知道,在一个图中绘制可能需要大量数据。首先,我以这种方式开始t1绘图:

splot 'aux' u 1:2:3 w lp
我得到了类似的东西


我想平滑一点这些线,给他们一个不同的颜色。有什么办法可以为它做点什么吗?另外,任何以其他方式改进它的想法都是非常好的。

你是对的,这是大量的数据。更改特定数据集的颜色非常简单:

splot "dataset" using 1:2:3 w lines linecolor rgb "green"
请注意,可以按如下方式轻松覆盖多个绘图:

splot "dataset" using 1:2:3 w lines lc rgb "green",\
      ""        using 1:2:4 w lines lc rgb "red"
行尾的反斜杠是gnuplot行连续字符。请注意,它必须是行中的最后一个字符。我还使用了伪文件
”,它只是gnuplot读取的最后一个文件的简写。最后,在第二个版本中,我使用了
lc
而不是
linecolor
。gnuplot解析器提供了大量的速记,尽管我怀疑您已经知道这一点,因为您绘制了
wlp
。(另外,请不要在绘图中选择红色和绿色。我认为gnuplot最大的缺陷之一是默认的前两种颜色是红色和绿色——20个人中有1个人是红绿色盲)

平滑是另一回事(不幸的是)<代码>绘图支持
平滑
选项

plot "dataset" using 1:2 smooth beizer with lines  #see help smooth for a list of options

不幸的是,该选项似乎不适用于
splot
。此时,我将编写一个小实用程序脚本,使用您最喜欢的平滑算法以您最喜欢的语言对数据进行平滑处理(
plot“您对红色和绿色的看法非常正确……我已获得Gnuplot 4.0版。感谢您的建议和帮助。非常感谢。@Manolete--4.0!我想说是升级的时候了;-)我能从新版本中得到什么?有什么很酷的功能或选项吗?@Manolete——很多新功能、终端等(我个人在没有至少4.2版本的情况下会很难管理,最好是4.3版本)。但是,这实际上取决于你正在绘制的绘图类型。如果你只是绘制直线和点,你可能不会注意到区别。。。