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

如何在gnuplot中绘制指定颜色的3D矢量场?

修复Gnuplot 3D矢量场颜色显示问题

问题根源

  1. 矢量全灰色:直接用列号7作为颜色变量时,Gnuplot会默认将其当作数值解析,但你的第7列是十六进制字符串格式的颜色码,无法被正确识别为颜色值,最终 fallback 为灰色。
  2. 显示颜色条:使用lc rgb var时,Gnuplot默认会启用颜色条(colorbox)来匹配数值型颜色变量,这与你用固定颜色码的需求冲突。

修复后的代码

scale = 1
unset colorbox  # 关闭侧边颜色条
set style arrow 1 head filled size 0.05,15  # 可选:优化箭头显示样式
splot 'file.dat' u 1:2:3:($4*scale):($5*scale):($6*scale):(stringcolumn(7)) w vectors arrowstyle 1 lc rgb

核心修改点

  • 正确读取颜色字符串:用stringcolumn(7)替代直接引用列7,明确告诉Gnuplot这是字符串类型的十六进制颜色码(如"#FF0000")。
  • 调整颜色指定逻辑:移除var参数,直接用lc rgb搭配字符串变量,让Gnuplot直接解析字符串为对应颜色。
  • 关闭颜色条:添加unset colorbox命令,彻底移除不需要的侧边颜色条。

额外适配说明

如果你的十六进制颜色码没有#前缀,需要在代码中补全格式,将(stringcolumn(7))修改为("#".stringcolumn(7)),确保Gnuplot能正确识别颜色。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 20:25:20