Gnuplot 如何增加Filled Curves打印样式的关键符号?
我想增加Gnuplot 如何增加Filled Curves打印样式的关键符号?,gnuplot,legend-properties,Gnuplot,Legend Properties,我想增加填充曲线打印样式的关键符号。我可以使用set key samplen控制长度,但不能控制其高度。我可以达到想要的结果,但使用的方法是繁琐的,取决于大小打印和字体使用 我使用了datafile.datfile 1 1270 834 2 1112 900 3 794 982 4 656 710 这个密码呢 reset set encoding utf8 set terminal pngcairo size 500,500 font "Segoe
填充曲线
打印样式的关键符号。我可以使用set key samplen
控制长度,但不能控制其高度。我可以达到想要的结果,但使用的方法是繁琐的,取决于大小打印和字体使用
我使用了datafile.dat
file
1 1270 834
2 1112 900
3 794 982
4 656 710
这个密码呢
reset
set encoding utf8
set terminal pngcairo size 500,500 font "Segoe UI,10"
set output "boxes.png"
set key title "{/:Bold Auto key}" Left reverse samplen 2
set tics out nomirror
set xrange [0:5]
unset xtics
set palette defined (\
1 "dark-violet",\
2 "#009e73",\
3 "#56b4e9",\
4 "#e69f00"\
)
unset colorbox
set errorbars small
set macros
style = "solid 0.5 border lt -1"
set style fill @style
# -----------------------------------------------
posX = 0.55 # x position (at screen)
posY = 0.9 # y position (at screen)
shiftY = 0.035 # shift in y direction (from up to down)
sizeX = 0.020 # box width
sizeY = 0.012 # box height
set label "{/:Bold Manual key}" at screen posX, posY left offset 0,1.2
set obj rect center screen posX,posY-0*shiftY size screen 2*sizeX,2*sizeY fc ls 1 fs @style
set obj rect center screen posX,posY-1*shiftY size screen 2*sizeX,2*sizeY fc ls 2 fs @style
set obj rect center screen posX,posY-2*shiftY size screen 2*sizeX,2*sizeY fc ls 3 fs @style
set obj rect center screen posX,posY-3*shiftY size screen 2*sizeX,2*sizeY fc ls 4 fs @style
set arrow from screen posX-sizeX, posY-4*shiftY to screen posX+sizeX, posY-4*shiftY lw 3 nohead
set label "Method 1" at screen posX, posY-0*shiftY left offset 2,0.05
set label "Method 2" at screen posX, posY-1*shiftY left offset 2,0.05
set label "Method 3" at screen posX, posY-2*shiftY left offset 2,0.05
set label "Method 4" at screen posX, posY-3*shiftY left offset 2,0.05
set label "Reference" at screen posX, posY-4*shiftY left offset 2,0.05
# -----------------------------------------------
plot \
keyentry w filledcurves ls 1 title "Method 1",\
keyentry w filledcurves ls 2 title "Method 2",\
keyentry w filledcurves ls 3 title "Method 3",\
keyentry w filledcurves ls 4 title "Method 4",\
"datafile.dat" u 1:2:0 w boxes lc palette notitle,\
"" u 1:3:(0.5) w xerrorbars ls -1 pt -1 lw 3 title "Reference"
做这个情节
还有别的方法吗?还有别的方法吗?是的,但是有点难看。键样本的高度由键标题使用的字体大小决定。通过将键设置为使用大字体,然后覆盖每个打印标题的实际文本,可以滥用此选项 下面的示例将键字体设置为20点,并在编写标题文本时使用增强文本模式将大小减小回10点。您可以使用和每个位忽略复杂的
,这只是生成一些要打印的假数据的一种方式
set term pngcairo size 500,500 font "ArnoPro,10"
set output "boxes.png"
$DATA << EOD
5
2
4
3
1
EOD
set yrange [0:6]
set style fill solid 1.0 border lc "black"
set boxwidth 0.3
set key font "ArnoPro,20" enhanced
plot for [i=1:5] $DATA every ::(i-1)::(i-1) using (i):(column(1)) with boxes \
title sprintf("{/ArnoPro=10 Method %d}", i)
设置术语pngcairo大小500500字体“ArnoPro,10”
设置输出“box.png”
$DATA还有其他方法吗?是的,但是有点难看。键样本的高度由键标题使用的字体大小决定。通过将键设置为使用大字体,然后覆盖每个打印标题的实际文本,可以滥用此选项
下面的示例将键字体设置为20点,并在编写标题文本时使用增强文本模式将大小减小回10点。您可以使用
和
每个位忽略复杂的,这只是生成一些要打印的假数据的一种方式
set term pngcairo size 500,500 font "ArnoPro,10"
set output "boxes.png"
$DATA << EOD
5
2
4
3
1
EOD
set yrange [0:6]
set style fill solid 1.0 border lc "black"
set boxwidth 0.3
set key font "ArnoPro,20" enhanced
plot for [i=1:5] $DATA every ::(i-1)::(i-1) using (i):(column(1)) with boxes \
title sprintf("{/ArnoPro=10 Method %d}", i)
设置术语pngcairo大小500500字体“ArnoPro,10”
设置输出“box.png”
$DATA基于@Ethan的解决方案,您还可以绘制超出范围的非常粗的虚线,或者使用NaN
plot for [i=1:5] NaN w l lw 13 lt i ti sprintf(" Method %d",i)
代码:
### enlarge height of key sample
reset session
$DATA << EOD
5
2
4
3
1
EOD
set yrange [0:6]
set style fill solid 1.0 border lc "black"
set boxwidth 0.3
set key samplen 2 reverse
plot for [i=1:5] $DATA every ::(i-1)::(i-1) using (i):(column(1)) with boxes \
title sprintf("Method %d", i), \
for [i=1:5] NaN w l lw 13 lt i ti sprintf(" Method %d",i)
### end of code
###放大关键样本的高度
重置会话
$DATA基于@Ethan的解决方案,您还可以绘制超出范围的非常粗的虚线,或者使用NaN
plot for [i=1:5] NaN w l lw 13 lt i ti sprintf(" Method %d",i)
代码:
### enlarge height of key sample
reset session
$DATA << EOD
5
2
4
3
1
EOD
set yrange [0:6]
set style fill solid 1.0 border lc "black"
set boxwidth 0.3
set key samplen 2 reverse
plot for [i=1:5] $DATA every ::(i-1)::(i-1) using (i):(column(1)) with boxes \
title sprintf("Method %d", i), \
for [i=1:5] NaN w l lw 13 lt i ti sprintf(" Method %d",i)
### end of code
###放大关键样本的高度
重置会话
$DATA