You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

gnuplot:使用超文本标签时按列值为点着色的方法

解决gnuplot带超文本标签的颜色编码问题

你可以通过扩展using语句的字段,并结合颜色控制参数,实现按第四列值为标签设置颜色,具体有两种常用方式:

方式1:使用调色板映射列值

先定义调色板与第四列值的对应关系,再用lc variable关联列值到调色板索引:

set terminal qt
# 定义第四列数值对应的颜色
set palette defined (1 "red", 2 "blue")
label_text(str1) = sprintf("%s", stringcolumn(str1))
# using字段顺序:x坐标:y坐标:标签文本:第四列值,lc variable指定按第四列选颜色
plot "D:\gnuplot_data_color_with_hypertext.txt" using 1:2:(label_text(3)):4 with labels hypertext notitle lc variable
pause -1

方式2:直接映射RGB颜色值

通过自定义函数将第四列值转换为RGB十六进制值,用lc rgb variable生效:

set terminal qt
# 自定义第四列值到RGB颜色的映射逻辑
color_map(col) = (col == 1) ? 0xff0000 : 0x0000ff
label_text(str1) = sprintf("%s", stringcolumn(str1))
# using字段最后传入转换后的RGB值,lc rgb variable指定按该值渲染颜色
plot "D:\gnuplot_data_color_with_hypertext.txt" using 1:2:(label_text(3)):(color_map(4)) with labels hypertext notitle lc rgb variable
pause -1

原理说明

with labels的using支持多字段输入,顺序为x:y:标签文本:颜色参数,通过lc variable(调色板索引)或lc rgb variable(RGB数值),就能把第四列的值关联到颜色渲染上,完全不影响超文本标签的功能。

内容的提问来源于stack exchange,提问作者user2150989

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 09:12:39