Gnuplot:将中心线与误差带合并为单个图例的方法
解决Gnuplot误差带与中心线图例合并的问题
我来帮你搞定这个图例合并的需求!在Gnuplot里,要让误差带和中心线共享同一个图例条目,有两种实用的方法,你可以根据自己的视觉偏好选择:
方法一:隐藏误差带的图例条目(简单直接)
核心思路是让误差带不生成独立的图例,只保留中心线的图例条目,这样视觉上误差带就和中心线关联到同一个图例下了。修改后的代码如下:
set termoption enhanced set xlabel '{/Symbol \326}s [TeV]' set ylabel '{/Symbol s}(PP{/Symbol \256}Htt) [pb]' set style fill transparent solid 0.2 noborder set key left nobox # 将误差带的title设为空,只让中心线的点线显示图例标题 plot [5:16] 'C:\Users\user\Desktop\tth-with-ttPDFs-nQCDscale.dat' using 1:3:4 with filledcurves title '', \ '' using 1:2 with lp lt 1 pt 7 ps 0 lw 2 title 'using FitC'
这样修改后,图例里只会显示using FitC这一个条目,误差带会自动和中心线对应,实现你要的叠加显示效果。
方法二:手动构建包含填充+线条的图例(更直观)
如果你希望图例条目里同时显示线条和误差带的填充样式,可以用set keyentry手动创建一个复合图例,然后让绘图的两个部分都不生成图例:
set termoption enhanced set xlabel '{/Symbol \326}s [TeV]' set ylabel '{/Symbol s}(PP{/Symbol \256}Htt) [pb]' set style fill transparent solid 0.2 noborder set key left nobox # 手动创建包含线条和填充样式的图例条目 set keyentry title 'using FitC' lt 1 pt 7 lw 2 fillstyle transparent solid 0.2 noborder # 绘图时两个系列都不设置标题 plot [5:16] 'C:\Users\user\Desktop\tth-with-ttPDFs-nQCDscale.dat' using 1:3:4 with filledcurves title '', \ '' using 1:2 with lp lt 1 pt 7 ps 0 lw 2 title ''
这种方法的图例条目会同时展示中心线的点线样式和误差带的填充效果,更清晰地表达数据的不确定性范围。
内容的提问来源于stack exchange,提问作者Majid Azizi
相关产品推荐
相关产品推荐

