假设我有以下gnuplot
脚本。
set terminal epslatex standalone size 8cm, 4cm
set output "test.tex"
set palette defined ( 0 "black", 1 "red" )
plot \
"a.dat" using 1:2:3 linecolor palette z pointtype 9 title "a" , \
"b.dat" using 1:2:3 linecolor palette z pointtype 5 title "b" , \
"c.dat" using 1:2:3 linecolor palette z pointtype 7 title "c"
以下示例数据集
a.dat
:
0 0 0
1 0 1
2 0 2
3 0 3
4 0 4
b.dat
0 1 0
1 1 1
2 1 2
3 1 3
c.dat
0 2 0
1 2 1
2 2 2
这给了我以下
我对这个例子的问题是图例中的键都获得了相应输入文件的最后一个数据点的颜色。基本上,我希望键中的所有符号都具有相同的颜色。我怎样才能做到这一点?
我正在使用gnuplot 4.6.2(和4.6.5)。我正在寻找一个通用的解决方案。即,我并不是在寻找一个我必须改变数据文件的解决方案(因为它会定期更新)。
答案 0 :(得分:1)
我想到的最佳选择是为每个标题使用单独的绘图表达式,您可以在其中指定键中实际需要的颜色:
set terminal epslatex standalone size 8cm, 4cm
set output "test.tex"
set palette defined ( 0 "black", 1 "red" )
set key samplen 1
set offset 0.1,0.1,0.1,0.1
plot \
"a.dat" using 1:2:3 palette pt 9 notitle, "" using 1:(NaN) lc rgb 'black' pt 9 title 'a', \
"b.dat" using 1:2:3 palette pt 5 notitle, "" using 1:(NaN) lc rgb 'black' pt 5 title 'b', \
"c.dat" using 1:2:3 palette pt 7 notitle, "" using 1:(NaN) lc rgb 'black' pt 7 title 'c'
set output
system('latex test && dvips test && ps2pdf test.ps')
或者您也可以使用point
选项手动设置三个标签,但这可能需要更多的摆弄以使位置和对齐正确。