【问题标题】:How to show a label from a third data column on mouseover / hover in a Gnuplot scatter plot?如何在 Gnuplot 散点图中鼠标悬停/悬停时显示第三个数据列的标签?
【发布时间】:2012-10-27 12:20:44
【问题描述】:

我有一个 gnuplot 数据文件:

Requested_width,Requested_depth,Requested_word,Name,N,M,Cycle_time,Clk2Q,Area,Total_Area
24,512,24,R1F512X24M8P24,1,1,1.9820,,7446.102,7446
24,512,24,R1F512X24M4P24,1,1,1.9937,,6757.0596,6757
....

我想分散绘图第 7 列和第 9 列(我可以这样做!),然后我希望当我将鼠标悬停在数据点上时出现第 4 列中的名称。我认为所有标签都出现在任何时候都太混乱了。

【问题讨论】:

标签: mouseover gnuplot


【解决方案1】:

只要使用超文本并指定正确的终端,就可以使超文本工作。

1) 您需要按照 GNUPlot 手册link,第 122 页中的描述使用 hypertext

set label at 0,0 "Plot origin" hypertext point pt 1
plot 'data' using 1:2:0 with labels hypertext point pt 7 \
title 'mouse over point to see its order in data set'

2) 目前支持超文本的术语有 3 个:canvas(HTML5)、svg 和 wxt。 我们以canvas为例,在手册的182页,有一个例子告诉你如何使用canvas:

set term canvas name 'fishplot'
set output 'fishplot.js'

还有一个最小的 HTML 文件:

<html>
<head>
  <script src="canvastext.js"></script>
  <script src="gnuplot_common.js"></script>
</head>
<body onload="fishplot();">
  <script src="fishplot.js"></script>
  <canvas id="fishplot" width=600 height=400>
    <div id="err_msg">No support for HTML 5 canvas element</div>
  </canvas>
</body>
</html>

【讨论】:

  • 现在,output 应该是一个 HTML 文件,因为 gnuplot 已经在 J​​avaScript 核心周围生成了所需的包装 HTML。
【解决方案2】:

这在 gnuplot4.7(当前的开发分支)中是完全可能的,但在以前的版本中是不可能的——当从交互式提示输入时,以下工作正常:

set term wxt
set termoption enhanced
set datafile sep ','
plot 'test.dat' u 7:9:4 w labels hypertext point pt 7

如果你把它放在一个脚本中,你需要调用 gnuplot 作为gnuplot -persist script.gp

【讨论】:

  • 非常感谢。不幸的是,它对我不起作用,终端在我们的设置中是未知的,关键词超文本也是未知的 :( 谷歌图表已经胜出,但感谢您的回复
  • @user1806063 -- 你有什么终端(以及什么 gnuplot 版本)?您可以通过print GPVAL_VERSION 找到版本(或者在交互式启动时阅读文本)。目前,根据文档允许它工作的唯一终端是wxtcanvas(我从未使用过)和svg。但我猜如果关键字无法识别,那么您使用的是旧版本的 gnuplot。 (4.7 还没有发布)
  • 我们使用的是 4.0,抱歉,当您之前谈到 4.7 时,我没有想到要检查这一点。终端类型: 可用终端类型: aed512 AED 512 终端 aed767 AED 767 终端 aifm Adob​​e Illustrator 3.0 格式位图 BBN 位图终端 cgm 计算机图形元文件 corel EPS 格式,用于 CorelDRAW 哑打印机或玻璃哑终端 dxf dxf 文件,用于 AutoCad(默认大小 120x80)
  • @user1806063 -- 4.0!那是古代! (你可以用它完成任何事情真是太棒了:-p)当我开始使用这些东西时(7 年前?)我认为它是在 4.2 ...
猜你喜欢
  • 2017-03-06
  • 1970-01-01
  • 2013-08-11
  • 1970-01-01
  • 2012-06-04
  • 1970-01-01
  • 1970-01-01
  • 2021-10-04
  • 1970-01-01
相关资源
最近更新 更多