Gnuplot 5.2如何获取默认线条对应RGB值以绘制透明线条
Gnuplot 5.2 默认线条颜色RGB值查询与半透明线条实现方法
核心查询操作(无需查找本地配置文件)
show colors命令仅返回所有预定义命名颜色的列表,不会关联默认线条编号的颜色映射。要直接获取编号1、2、3...对应的默认线条色值,在Gnuplot交互终端执行show linetype即可。- 该命令的输出会逐行列出每个默认线型的完整参数,包含对应RGB十六进制值,格式示例如下:
line type 1, color rgb "#009E73", linewidth 2.00, solid
line type 2, color rgb "#D55E00", linewidth 2.00, solid
line type 3, color rgb "#0072B2", linewidth 2.00, solid
- Fedora系统中执行
rpm -ql gnuplot检索不到纯文本颜色配置文件属于正常现象:Gnuplot 5.2的默认线条颜色主题是直接编译进程序二进制中的,并非以独立纯文本文件存储。
带透明度线条的实现(无需手动拼接#aarrggbb色值)
- Gnuplot 5.2 原生支持直接对默认线条颜色叠加透明度参数,不需要手动提取RGB值后拼接
#aarrggbb格式的字符串。 - 具体语法为在指定线型后追加
alpha <透明度值>参数,透明度取值范围为0(完全透明)到1(完全不透明)。例如为第3条默认线条设置60%不透明度(即40%透明度)的写法为:
plot sin(x) w l lt 3 alpha 0.6
- 如果确实需要提取默认线条的RGB值用于其他场景,可在交互脚本中直接读取对应线型的颜色分量,无需手动抄录:
# 提取第i个默认线条的R/G/B分量,拼接为6位RGB十六进制字符串 default_rgb(i) = sprintf("#%02x%02x%02x", linetype i linecolor rgb 0, linetype i linecolor rgb 1, linetype i linecolor rgb 2)
内容的提问来源于stack exchange,提问作者Victor Ramos
相关产品推荐
相关产品推荐

