SVGのGnuplotでマウスホバー時に値を表示するにはどうすればよいですか?

Aug 24 2020

インタラクティブなgnuplotグラフィックに気づいた後 https://lwn.net/Articles/723818/ マウスホバーで国名を表示しているときに、プロット内のポイントの値を簡単に表示する方法を考えています。

たとえば、の「ドーターバー」にカーソルを合わせたい https://s.natalian.org/2020-08-24/mouse-hover.svg60をはっきりと見てください。

ただし、現時点では、座標IIUCが表示されているだけです。これを修正するにはどうすればよいですか?

set term svg mouse standalone
reset
$heights << EOD dad 181 mom 170 son 100 daughter 60 EOD unset key set boxwidth 0.5 set style fill solid set yrange [0:*] plot '$heights' using 2:xtic(1) with boxes
set output '/tmp/mouse-hover.svg'
replot

回答

2 theozh Aug 24 2020 at 13:43

あなたが探しているhypertext、チェックしてくださいhelp hypertextpointハイパーテキストを固定するには、を使用する必要があります。ポイントサイズ(ここps 3)で遊んで、マウスがハイパーテキストを表示する領域を変更します。ボックスの上部に色付きのポイントを表示したくない場合は、色を透明にしlc rgb 0xff123456ます。

残念ながら、このハイパーテキストのフォントを大きくする方法は、gnuplotのドキュメントには(まだ)見つかりませんでした。このオプションfont ",30"は効果がありません。見つけたら教えてください。どうやらwxtターミナルでそれを行うことができます(gnuplot:モノスペースのハイパーテキスト?を参照)。

コード:

### SVG standalone with hypertext
reset session
set term svg mouse standalone enhanced
set output 'tbSVGstandalone.svg'

$heights <<EOD dad 181 mom 170 son 100 daughter 60 EOD unset key set boxwidth 0.5 set style fill solid set yrange [0:*] plot '$heights' u 2:xtic(1) w boxes,\
     '' u 0:2:2 w labels hypertext point pt 7 ps 3 lc rgb 0xff123456
set output
### end of code

結果:(FirefoxでのSVGのスクリーンショット。ここにSVGを配置できないようですが、少なくとも方法はわかりません。)