相关疑难解决方法(0)

GnuPlot中的线图,其中线条颜色是我的数据文件中的第三列?

我有一个如下所示的数据文件:

1 1.0 0
2 1.5 0
3 0.0 1
4 1.2 2
5 1.0 1
6 1.1 1
Run Code Online (Sandbox Code Playgroud)

第一列是我的X值,第二列是我的Y值,第三列是颜色.我想根据第三列对每个线段进行着色.所以前两个线段是"颜色1",下一个是"颜色2",下一个是"颜色3",最后两个再次是"颜色1".

我试过了:

plot 'file.dat' using 1:2:3 with lines rgb variable;
Run Code Online (Sandbox Code Playgroud)

但我的线条全黑了.

这可能在gnuplot中吗?

谢谢,加布

plot graph gnuplot

29
推荐指数
3
解决办法
4万
查看次数

gnuplot:在一列中绘制基于颜色的值的点

我想绘制分类结果并标记真正的类.所以,基本上我需要的是为字符串列中的每个点指定颜色.

数据集看起来像这样:

5.1 3.5 1.4 0.2 Iris-setosa

我最终得到了脚本跟随解决方案(感谢这里的答案:如果在第三列等于零时将点设为一种颜色,否则在Gnuplot中将另一种颜色设为另一种颜色?)

set palette model RGB defined (0 "red",1 "blue", 2 "green")
plot 'iris.data' using 1:2:5 notitle with points pt 2 palette
Run Code Online (Sandbox Code Playgroud)

在原始数据集中,我用数字替换了字符串标签,因为我不知道如何使用gnuplot中的字符串.有没有办法将字符串映射到颜色?

目前输出如下: gnuplot着色点

但是我不喜欢渐变调色板,因为在这种情况下它没有意义.我更喜欢普通的传奇,只有一种颜色和类的名称.知道怎么做吗?

plot graph gnuplot

10
推荐指数
1
解决办法
3万
查看次数

使用Gnuplot有条件地绘制点颜色

我有一个包含四列数据的文件.我只使用前三个绘制3D绘图,现在不需要第四个绘图.

我想知道如果它满足某些条件,如何改变点的颜色.例如,如果点的值(x,y,z)大于(16,400,65),我想将其绘制为灰色.如果它们比那个小,我想用红色.

我试图使用awk同样的东西,它只是用不同的颜色绘制两个点.这是我的代码.

gnuplot>splot "< awk '{if( ($2 > \"16\") || ($1 > \"400\") || ($3 > \"65\"))  print}'                                       
./8_77_non_pareto_data.dat " u 2:1:3 w p pt 8 lc rgb "grey", \
"< awk '{if( ($2 < \"16\") || ($1 < \"400\") || ($3 < \"65\"))  print}' 
./8_77_non_pareto_data.dat " u 2:1:3 w p pt 8 lc rgb "red", \
"./8_77_pareto_data.dat" u 2:1:3 w i lt 1 lc rgb "blue" t "Pareto points"
Run Code Online (Sandbox Code Playgroud)

我的数据文件如下所示:

48      15.057599573464184 …
Run Code Online (Sandbox Code Playgroud)

gnuplot

5
推荐指数
1
解决办法
5695
查看次数

gnuplot根据数据文件的第四列绘制颜色

我有一个包含4列数据的数据文件,前三列指定一个点(x,y,z),第四列是1,2或3 - 我希望该点基于值的颜色着色第四列(即,如果它是2,颜色为红色,如果为3,绿色,如果为1,蓝色)

gnuplot

4
推荐指数
1
解决办法
2394
查看次数

标签 统计

gnuplot ×4

graph ×2

plot ×2