如何在 gnuplot 中使用其中一列数据作为图例?
How to use one of the column of data as legend in gnuplot?
我有这样的数据:
# c1 c2 c3
23 b 323
23 g 54
23 a 11
23 c 1
23 d 0
23 e 397
23 f 40
24 b 23
24 g 24
24 a 113
24 c 12
24 d 10
24 e 7
24 f 50
我需要在 x 轴 (23,24) 上绘制 c1,在 y 轴上绘制 c3,以获得不同的 c2 值,即,为每个 c2 值绘制具有不同颜色的多个图形。
一般来说,您必须在 gnuplot 之外进行过滤,以便有连接过滤点的线。
如果您知道第二列中可能出现的所有值,则可以使用中给出的解决方案。
如果您不知道可能的值,可以使用
提取它们
c2s = system("awk '!/^#/ { print }' test.dat | sort | uniq")
然后用
绘制它们
plot for [c2 in c2s] sprintf('< grep ''\b%s\b'' test.dat', c2) using 1:3 with lines title c2
我有这样的数据:
# c1 c2 c3
23 b 323
23 g 54
23 a 11
23 c 1
23 d 0
23 e 397
23 f 40
24 b 23
24 g 24
24 a 113
24 c 12
24 d 10
24 e 7
24 f 50
我需要在 x 轴 (23,24) 上绘制 c1,在 y 轴上绘制 c3,以获得不同的 c2 值,即,为每个 c2 值绘制具有不同颜色的多个图形。
一般来说,您必须在 gnuplot 之外进行过滤,以便有连接过滤点的线。
如果您知道第二列中可能出现的所有值,则可以使用
如果您不知道可能的值,可以使用
提取它们c2s = system("awk '!/^#/ { print }' test.dat | sort | uniq")
然后用
绘制它们plot for [c2 in c2s] sprintf('< grep ''\b%s\b'' test.dat', c2) using 1:3 with lines title c2