Gnuplot 6.x命名调色板功能使用报错求助
解决Gnuplot 6.x命名调色板仪表盘的语法错误
错误原因
你碰到的unexpected or unrecognized token: fullgauge错误,核心是自定义调色板的命名或定义语法不符合Gnuplot 6.x规范——要么是fullgauge这个名称被误判为非法命令,要么是命名调色板的编写格式出错,导致解析器无法识别。
修正后的完整脚本
以下是能实现需求同时解决语法问题的脚本:
# 输出配置 set terminal pngcairo size 600,600 enhanced font 'Arial,12' set output 'temp_gauge.png' # 定义分段命名调色板:0-75蓝红渐变,75-100浅灰到白渐变 set palette name temp_gauge define ( 0 '#0000FF', # 蓝色(0度) 75 '#FF0000', # 红色(75度,分界点) 75 '#CCCCCC', # 浅灰(75度,分界点) 100 '#FFFFFF' # 白色(100度) ) set cbrange [0:100] # 绑定颜色范围到仪表盘数值区间 # 仪表盘绘制参数 set style fill solid 1.0 set polar # 启用极坐标 set rrange [0:1] # 仪表盘半径范围 set trange [0:180] # 半环形仪表盘,全环可改为[0:360] unset border unset xtics unset ytics # 绘制仪表盘背景 set object 1 circle at 0,0 size 1.0 fillcolor '#EEEEEE' fillstyle solid set object 2 circle at 0,0 size 0.8 fillcolor 'white' fillstyle solid # 绘制数值对应的填充区域 plot '+' using (1):($1) with circles fillcolor palette temp_gauge notitle
关键修正说明
- 调色板命名与定义:采用
set palette name 自定义名 define (...)的标准格式,避免名称与内置命令冲突;在75这个分界点重复定义颜色,实现两个渐变区间的无缝衔接。 - 颜色调用:绘制时通过
fillcolor palette temp_gauge指定使用自定义命名调色板,确保颜色规则正确生效。 - 移除冲突语法:如果之前脚本里把
fullgauge用作非法参数或命令,直接替换为合法的自定义名称即可。
内容的提问来源于stack exchange,提问作者Marionette_66
相关产品推荐
相关产品推荐

