如何为Gnuplot绘制的饼图添加扇区标签?
Gnuplot饼图添加扇区标签的解决方案
要给你的饼图扇区添加标签,核心是计算每个扇区的中心位置,再用labels绘图样式在对应位置放置文本。以下是修改后的完整代码:
set xrange [-9:9] set yrange [-9:9] # 加上y轴范围,避免标签超出显示区域 set style fill transparent solid 0.3 # 绘制饼图扇区 + 标签: # 数据列说明:1=x中心, 2=y中心, 3=饼半径, 4=起始角度, 5=结束角度, 6=颜色值, 7=标签文本 plot '-' using 1:2:3:4:5:6 with circles lc var notitle, \ '' using ( $1 + 6*cos(rad(($4+$5)/2)) ) : ( $2 + 6*sin(rad(($4+$5)/2)) ) : 7 with labels font ',12' notitle 0 0 5 0 90 7 "25%" 0 0 5 90 180 7 "25%" 0 0 5 180 270 7 "25%" 0 0 5 270 315 9 "12.5%" 0 0 5 315 360 9 "12.5%" e
关键说明:
- 新增
yrange确保标签不会被画布边缘裁剪 - 第二个绘图指令使用
labels样式,通过三角函数计算标签的精准位置:rad()函数将角度转换为弧度,配合cos()/sin()计算标签相对于饼图中心的坐标偏移- 用
6作为标签的半径(比饼图本身的5大),让标签显示在扇区外侧;若想放在内部,改成3这类小于5的值即可 font ',12'用于调整标签字体大小,可根据需求修改数值
- 数据行末尾新增了对应扇区的标签文本,直接替换成你需要的内容就行
内容的提问来源于stack exchange,提问作者nath
相关产品推荐
相关产品推荐

