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

Gnuplot:如何让wxt终端通过鼠标交互显示对应单元格的z值

在Gnuplot wxt终端实现Z值的动态显示(Tooltip/状态栏替换)

针对你想要在wxt终端中通过鼠标交互显示绘图单元格Z值的需求,我整理了两种可行的方案,分别是替换状态栏显示内容和模拟Tooltip悬浮标签,下面是具体实现:

方案一:替换状态栏显示Z值(简单易实现)

wxt终端默认在状态栏显示鼠标坐标,我们可以通过绑定鼠标事件,将状态栏内容替换为当前鼠标位置对应的Z值。

代码示例(自定义函数数据)

# 配置示例数据范围(如果是真实数据文件可跳过这部分)
set samples 10
set isosamples 10
set xrange [0:9]
set yrange [0:9]

# 启用鼠标交互,关闭默认坐标显示
set mouse on
set mouse status no

# 定义Z值计算逻辑(实际场景可替换为从数据文件读取)
get_z(x,y) = x*y

# 绑定鼠标移动事件,实时更新状态栏
bind mouse movement \
    'x = GPVAL_MOUSE_X; y = GPVAL_MOUSE_Y; z = get_z(x,y); \
     set statusline sprintf("当前Z值: %.2f", z); replot'

# 绘制热图(根据你的绘图类型调整)
set pm3d map
splot x*y

针对数据文件的适配(Gnuplot 5.2+)

如果你的Z值来自外部数据文件(比如三列x,y,z的网格数据),可以用lookup函数直接查询对应位置的Z值:

datafile = "your_data.dat"
stats datafile using 1:2:3 nooutput  # 预读取数据范围

set mouse on
set mouse status no

# 绑定鼠标移动事件,从数据文件查询Z值
bind mouse movement \
    'x = GPVAL_MOUSE_X; y = GPVAL_MOUSE_Y; \
     z = lookup(datafile, x, y, 3); \
     set statusline sprintf("当前Z值: %.2f", z); replot'

set pm3d map
splot datafile using 1:2:3

方案二:模拟Tooltip悬浮标签(更直观)

wxt终端没有原生的Tooltip功能,但我们可以通过动态显示/隐藏label标签来模拟这个效果,当鼠标移动到目标区域时,在鼠标附近显示Z值标签,离开时隐藏。

代码示例

# 配置示例数据范围
set samples 10
set isosamples 10
set xrange [0:9]
set yrange [0:9]

# 启用鼠标交互
set mouse on

# 初始化一个隐藏的悬浮标签(带白色背景框增强可读性)
set label 1 "" at screen 0,0 front noenhanced box opaque fc "white" border lw 1 hidden

# 定义Z值计算逻辑
get_z(x,y) = x*y

# 绑定鼠标移动事件:显示Tooltip
bind mouse movement \
    'x = GPVAL_MOUSE_X; y = GPVAL_MOUSE_Y; z = get_z(x,y); \
     # 将标签定位在鼠标屏幕坐标的上方一点
     set label 1 sprintf("Z = %.2f", z) at screen GPVAL_MOUSE_SCREEN_X, GPVAL_MOUSE_SCREEN_Y + 0.02; \
     set label 1 nohidden; replot'

# 绑定鼠标离开绘图区域事件:隐藏Tooltip
bind mouse leave \
    'set label 1 hidden; replot'

# 绘制热图
set pm3d map
splot x*y

注意事项

  • 如果你的数据是非规则网格,可能需要先通过set dgrid3d将其转换为规则网格,才能准确查询Z值;
  • lookup函数需要Gnuplot 5.2及以上版本支持,旧版本可以通过stats结合数组的方式实现Z值查询;
  • 模拟Tooltip时,标签的位置可以根据你的需求调整GPVAL_MOUSE_SCREEN_Y + 0.02中的偏移量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:35:45