如何解决gnuplot 如何使用多图将图例/键放在第三列中
如何将图例/密钥放在第三列(此处)的情节之外?
我的标签名称存储在国家/地区名称列表中。所以每张图中的4条曲线对应一个国家。
您可以在这里找到数据:https://www.ecdc.europa.eu/en/publications-data/data-national-14-day-notification-rate-covid-19
数据看起来像这样:
France,FRA,Europe,67012883,cases,1,2020-07,0.00895350226910846,12,"Epidemic intelligence,national weekly data"
France,2020-08,0.00149225037818474,118,2020-09,0.1760855446258,130,996,2020-10,1.66236692129781,1126,national weekly data"
我的脚本:
#system("wgets https://opendata.ecdc.europa.eu/covid19/nationalcasedeath/csv -P $PWD -O data1.csv")
Countries = "France Italy Belgium Luxembourg"
categories = "cases death"
reset
set term wxt font ',11' size 1200,800
set datafile separator ","
set grid
set key outside right top
timefmt = "%Y-%W"
set xtics time format timefmt rotate by -45
SECPERWEEK = 3600.*24.*7.
Y_W(col) = timecolumn(col,timefmt) + SECPERWEEK * (strcol(col)[6:7] - 1)
set multiplot layout 3,3
do for [category in categories]{
set title sprintf("Nbre %s",category)
plot for [country in Countries] sprintf("<grep %s.*%s data1.csv",country,category) u (Y_W(7)):6 notitle w l lw 2
}
#PUT legend
set multiplot next
#t sprintf("Nbre %s %s",category,country)
do for [category in categories]{
set title sprintf("%s %s","%",category) u (Y_W(7)):8 notitle w l lw 2
}
set multiplot next
#sprintf("%s %s %s",country)
do for [category in categories]{
set title sprintf("Cumul %s",category) u (Y_W(7)):9 notitle w l lw 2
}
set multiplot next
#t sprintf("Cumul %s %s",country)
unset multiplot
解决方法
一个可能的建议:使用屏幕坐标作为键并仅显示一个图形的标题。像这样:
代码:(编辑:在第一个情节之后简单地unset key
)
### only one key for multiplot
reset session
Countries = "France Italy Belgium Luxembourg"
set key at screen 0.9,0.9
set multiplot layout 3,3 columnsfirst
do for [i=1:6] {
plot for [j=1:words(Countries)] j*x**i ti word(Countries,j)
unset key
}
unset multiplot
### end of code
结果:
添加:
当在彼此之上多次绘制密钥时,例如在 wxt 终端中,它可能看起来像粗体(可能取决于终端)。请参见下面的示例。顶排:6 个按键重叠,底排:只有一个按键。所以最好在第一个情节之后关掉钥匙。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。