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

如何用GnuPlot为同数据集点间连线按时间戳设置渐变颜色?

GnuPlot实现按时间戳为点间连线着色的方案

完全可以实现,以下是具体的实现思路和代码示例:

核心思路

  1. 创建从红色到蓝色的离散调色板,对应颜色编号1到SAMPLE_COUNT
  2. 循环绘制每一段相邻点的连线,为每条线段分配对应编号的颜色
  3. 可选:为每个点也分配对应时间戳的颜色

完整GnuPlot脚本

# 替换为你的线段总数(即点数量-1)
SAMPLE_COUNT = 50  

set autoscale
# 定义从红色到蓝色的离散调色板,编号1到SAMPLE_COUNT
set palette defined (1 'red', SAMPLE_COUNT 'blue')
set palette maxcolors SAMPLE_COUNT

# 绘制带颜色的线段:每条线段对应一个颜色编号
plot for [i=0:SAMPLE_COUNT-1] "$file" every ::i::i+1 with lines lc palette frac (i+1.0)/SAMPLE_COUNT, \
     # 绘制点:点的颜色随时间戳从红到蓝渐变
     "$file" with points pt 7 lc palette frac ($0+1.0)/(SAMPLE_COUNT+1)

代码说明

  • set palette defined:手动指定调色板的起始(红色)和结束(蓝色)颜色,生成SAMPLE_COUNT个离散颜色等级
  • for [i=0:SAMPLE_COUNT-1]:遍历所有线段,every ::i::i+1表示仅取数据文件中第i行和第i+1行的点,组成单条线段
  • lc palette frac (i+1.0)/SAMPLE_COUNT:将第i条线段对应到调色板中第i+1个颜色(通过比例值映射到调色板范围)
  • 点的颜色通过$0(行号,从0开始)计算比例,实现从第一个点到最后一个点的颜色渐变

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 20:05:33