我使用 gnuplot 绘制了一些数据曲线,看起来像这样:
然而,图例中的线样本太细了。当你有更多的曲线时,颜色变得难以区分。你可以通过在绘图命令中添加 "lw 3" 来增加曲线的粗细,例如,你可以得到以下结果:
但是,这会使线条的粗细所有地方都增加。是否可能只在图例中使线条变粗?我知道可以通过后处理输出 .png 文件来实现 "另一种方式",但是否有一种直接的方法,使用一些 gnuplot 设置/魔法来实现呢?
很不幸,我不知道如何控制键中线条的粗细,因为它们对应于正在绘制的线条。您可以通过在gnuplot中输入help set key
来查看可以更改的内容。
使用multiplot,您可以先绘制没有键的图形线,然后再为'ghost lines'重新绘制键。以下是可以实现此操作的代码示例:
set terminal png color size 800,600
set output 'plot.png'
set multiplot
unset key
plot '../batteries/9v/carrefour.txt' w lp, \
'../batteries/9v/philips.txt' w lp, \
'../batteries/9v/sony.txt' w lp
set key; unset tics; unset border; unset xlabel; unset ylabel
plot [][0:1] 2 title 'Carrefour' lw 4, \
2 title 'Philips' lw 4, \
2 title 'Sony' lw 4
我看到了这篇文章,得到了一个重要的想法。 提供的解决方案在多图模式下不起作用,因为第二个绘图命令会触发第二个图形,这很可能是不期望的。 作为一种解决方法,可以将原始数据设置为“notitle”,然后使用相同的线型和颜色以不同的粗细度绘制超出范围的数据,并设置所需的标题。我将我的当前示例留在此处。它还包括我声明的线型。所以我只需要使用相同的线型(ls)来获得相同的颜色,但在第二条线上更改粗细度。
# for pngs
set terminal pngcairo size 1600,600 font ',18' enhanced
set output "pic_multi_kenngr_ana.png
set style line 2 lc rgb '#0ce90b' lt 1 lw 1.5 # --- green
set style line 3 lc rgb '#09e0b3' lt 1 lw 1.5 # .
set style line 4 lc rgb '#065fd8' lt 1 lw 1.5 # .
set style line 5 lc rgb '#4e04cf' lt 1 lw 1.5 # .
set style line 6 lc rgb '#c702a9' lt 1 lw 1.5 # .
set style line 7 lc rgb '#bf000a' lt 1 lw 1.5 # --- red
set multiplot layout 1,2
set xtics rotate
set tmargin 5
set xtics 12
set grid xtics
# set axis labels
set ylabel 'T [K]'
set xlabel 'Zeit [h]'
# select range
set xrange [0:48]
set yrange [290.15:306.15]
set title "(a) Bodentemperatur"
set key top right Right
plot 'par_crank_hom01lvls.04.dat' u 1:3 with lines ls 7 notitle,\
'par_crank_str01lvls.16.dat' u 1:3 with lines ls 2 notitle,\
500 t 'z = 4 cm' ls 7 lw 4,\
500 t 'z = 16 cm' ls 2 lw 4
################################################
set title "(b) Bodenwärmestrom an der Oberfläche"
set ylabel 'G [W m^{-2}]'
set yrange[-110:110]
unset key
plot 'par_crank_str01_ghf.dat' u 1:3 with lines
unset multiplot
plot data u 0:1 w l linecolor rgb #1b9e77 lw 2 t "",\
data every ::0::0 u 0:1 w l linecolor rgb #1b9e77 lw 4 t "Title"
NaN
的评论,以下内容将从一个名为datafile.txt的数据文件中绘制两条宽度为1的线条,不包含标题,并创建匹配的空白行,用于仅包含键的指定标题和宽度为5。plot [][]\
NaN title "Title1" w line lt 1 lc 1 lw 5,\
NaN title "Title2" w line lt 1 lc 2 lw 5,\
"datafile.txt" using 1:2 title "" w line lt 1 lc 1 lw 1,\
"datafile.txt" using 1:3 title "" w line lt 1 lc 2 lw 1
plot # ... \
keyentry w l lw 1 lc 2 t "Title" # ...
并删除旧的密钥。
plot '../batteries/9v/carrefour.txt' w l lw 1 linetype 1 notitle, 0/0 linetype 1 linewidth 5 title 'Carrefour'
rep '../batteries/9v/philips.txt' w l lw 1 linetype 2 notitle, 0/0 linetype 2 linewidth 5 title 'Philips'
rep '../batteries/9v/sony.txt' w l lw 1, linetype 3 notitle, 0/0 linetype 3 linewidth 5 title 'Sony'