Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gnuplot 自定义可变大小点的不同颜色_Gnuplot - Fatal编程技术网

Gnuplot 自定义可变大小点的不同颜色

Gnuplot 自定义可变大小点的不同颜色,gnuplot,Gnuplot,我有一个数据点文件,其中包含 1 0 0 0 2 0 0 0 3 然后我编写了这段代码(代码片段)来为1、2或3绘制一个变量大小点 xcoord(N) = (N) ycoord(N) = (column(0)+1) symbol(N) = strcol(N) eq "3" ? 3 : ( strcol(N) eq "2" ? 2 : (strcol(N) eq "1" ? 1 : 0) ) set xtics ("2000" 2, "2001" 3, "2002" 4) set yti

我有一个数据点文件,其中包含

1 0 0
0 2 0
0 0 3
然后我编写了这段代码(代码片段)来为1、2或3绘制一个
变量大小

xcoord(N) = (N) 
ycoord(N) = (column(0)+1)
symbol(N) = strcol(N) eq "3" ? 3 : ( strcol(N) eq "2" ? 2 : (strcol(N) eq "1" ? 1 : 0)  ) 

set xtics ("2000" 2, "2001" 3, "2002" 4)
set ytics ("M1" 1, "M2" 2, "M3" 3)
plot for [N=1:3] 'data.txt' using (xcoord(N)):(ycoord(N)):(symbol(N)*1) with points pt 7 ps var

问题是所有的点都有相同的颜色。我想为1、2和3使用不同的颜色。如何操作?

使用
linecolor变量
根据数据列选择线型(或线型),请参见最近的两个问题和

我不确定最终结果应该是什么,但你的例子看起来有点奇怪。为什么将数据读取为字符串,然后将其转换回数字

只用

set offset 0.1,0.1,0.1,0.1
plot 'data.txt' matrix using 1:2:3:3 lc var ps var pt 7

使用
linecolor变量
似乎会忽略符号及其大小。在我的帖子里,这个例子不适用吗?我从你的帖子中获取了数据,正如你在图片中看到的,它运行良好。我简化了代码,因为我认为没有必要使用strcol和复杂的符号函数。您的示例没有显示用于测试的
xcoord
ycoord
函数。我确信,通过编辑的数据,您将再次看到所有(x,y)的所有点。对于我来说,您的确切脚本适用于版本4.6.3:您有不同的颜色和大小。不过我还是建议您使用
矩阵
进行绘图。好的,我会检查一下。我的脚本似乎有问题。谢谢