You need to enable JavaScript to run this app. Gnuplot 5.4中为重叠散点图设置点透明度以验证点位重叠
优惠活动
大模型
产品
解决方案
定价
更多

Gnuplot 5.4中为重叠散点图设置点透明度以验证点位重叠

核心问题定位

你之前的尝试没生效主要是踩了三个常见的Gnuplot使用坑:

  • 颜色值格式错误:Gnuplot解析带Alpha通道的颜色时,支持#AARRGGBB格式的十六进制色值,不需要在#后面额外加0x前缀。你写的#0x80ff0000属于语法错误,实际被解析成了不透明的纯色,Alpha值完全没生效。
  • 绘制类型不匹配:你只设置了全局的set style fill transparent solid 0.5 noborder,但默认的散点绘制类型是空心线框点,不会自动加载填充透明度参数。
  • 作用域不匹配:全局fill设置的生效范围有限,不会自动应用到未指定填充绘制样式的数据集上。
可直接替换的修正代码

方案1:直接通过颜色值控制透明度(推荐,灵活度更高)

不需要改全局的fill样式,直接在plot行做两处修正即可:

# 原有终端、坐标轴、图例的设置全部保留,仅替换最后一行plot命令
plot 'a.dat' using 1:2 with points pointtype 7 pointsize 1 lc rgb '#80ff0000' t 'A', \
     'b.dat' using 1:2 with points pointtype 7 pointsize 1 lc rgb '#8000ff00' t 'B'

这里的#80ff0000中前两位80是16进制表示的Alpha值(00为全透,FF为不透明),可以按需调整数值控制透明程度。

方案2:通过全局fill样式统一控制透明度

如果需要批量调整多组散点的透明度,可以使用这种方式,注意不要和颜色自带的Alpha值叠加:

# 全局设置填充透明度,0.5表示50%不透明度
set style fill transparent solid 0.5 noborder
# plot时指定使用填充点绘制类型,不要依赖默认绘制逻辑
plot 'a.dat' using 1:2 with filledpoints pointtype 7 pointsize 1 lc rgb '#ff0000' t 'A', \
     'b.dat' using 1:2 with filledpoints pointtype 7 pointsize 1 lc rgb '#00ff00' t 'B'
避坑提醒
  • 不要同时启用全局fill透明效果和带Alpha通道的颜色值,否则两层透明度会叠加,可能导致点过于透明无法识别。
  • 你使用的pngcairo truecolor终端原生支持Alpha透明效果,不需要额外修改终端配置,注意不要替换为默认的无alpha支持的png终端。
  • pointtype可以根据自己的绘图习惯调整,只要是实心点类型,都能正常渲染透明效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.23 08:06:02