LoginSignup
14
10

More than 5 years have passed since last update.

ターミナル上でgnuplotの出力をターミナルに直接描画する

Posted at

概要

最近この記事(Qiita:Vimで画像を見る(DRCSのSIXEL拡張の話))を読んだ。

どうやら世の中のUnixターミナルエミュレータはある特定の実機を元に実装してる場合が多く、その古の実機の中にSixelという形式でグラッフィック描画をサポートしていた物があったらしい。

最近になって、この機能が話題になり、vim上での画像表示や、ターミナルエミューレータ側でのSixelサポートや、その他アプリケーションでのSixel形式サポートが進んでいる。

gnuplotもSixelをサポートした。

使ってみる

私は普段はubuntuを手元では使っている。
ubuntu標準のgnome-terminalはSixelをサポートしていないが、xtermはサポートしている。
また、ubuntuのapt-getでxtermをビルドしていれば、Sixelサポートはenableになっている。

そこでubuntu上でxtermを起動する
xterm -ti 340 -xrm "XTerm*sixelScrolling: True"

sshで普段使っているクラスタにアクセスしgnuplotを起動する。
そして・・・

set terminal sixel
plot sin(x)

・・・グラフがターミナル上に表示されている。
あまりにもあっけなくできてしまって驚いた。

背景色が黒のターミナルエミューレタを使っている場合、軸や判例等がうまく表示されないだろうが、それは色が重なっているためだ。
例えば
set border linecolor rgbcolor "yellow"
set key textcolor rgbcolor "yellow"
とすれば良い。

素晴らしい。
この方法ならば、リモート側のシステムにまったく依存する事なく使う事ができる。x11転送を拒絶されている状況でもだ。
リモートの自分のローカルディレクトリに新しいgnuplotを忍ばせてSixelに対応したターミナルエミューレータでssh越しに叩けばよい。

14
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
10