gnuplot - 使用线条颜色作为第三个变量不会生成所需的输出

时间:2017-01-25 23:24:22

标签: plot gnuplot

使用gnuplot,我正在尝试制作带有点的2D绘图,其中点颜色由数据文件的第三列表示(文件有3列)

Here是文件的链接

我使用以下命令生成图表:

pl "outPhaseDiff_b1_dScan.dat" u 1:2:3 w p pt 7 ps 2 lc variable 

所需的输出应包含5种颜色,但它只绘制2种颜色,这真的很奇怪,因为我已经使用这个命令很长一段时间并且之前没有遇到过这样的问题。我想它必须用绘图算法做一些事情,但我不知道。

1 个答案:

答案 0 :(得分:2)

检查您的数据,它包含许多具有以下模式的线对:

0.0000   0.0060   3
0.0000   0.0060   5

包含x, y, color1的一行,另一行包含xy,但color2不同。所以第二行的点隐藏了第一行的点。

如果您使用多个图层绘制3d,它看起来像这样:

z = 0
y = 0
splot "outPhaseDiff_b1_dScan.dat" \
      u 1:2:($2 == y ? (z = z+1) : (z = 0, y=$2), z):3 \
      w p pt 7 ps 2 lc variable

two layers

2d plot从顶部看,只有两种颜色可见。