カテゴリー
visidataで即席散布図プロットを使ってデータを確認する
※ 当ページには【広告/PR】を含む場合があります。
2024/06/17
前回、ターミナルから直接CSVデータを編集できるPython製のエディタツール
前回の記事では触れませんでしたが、このvisidataの利用方法の真髄は、その名表わすように、
なにかの資料に載せるような綺麗な作図としては期待できませんが、実験データのような直ぐに目で見て確認したい場合には、非常に有効なツールのように思います。
この記事では、以降でvisidataによる散布図プロットの作成に関する概要を特集していきます。
visidataの散布図プロットの基本
最初に2次元プロットしたいデータを含むCSVファイルを使って、散布図の基本をやってみましょう。
$ vd <データを含むcsvファイル>
ここからx軸になる数値列と、y軸になる数値列を指定します。
なお、ここでの数値列とは、
「#」 ... int型(整数)
「%」... float(浮動小数点数)
「$」... currency(通貨)
「@」... data(日時)
のどれかの属性(数値型)でプロットできるデータとして認識されます。
ちなみに、プロットデータ列として解除したい場合には、
なお、数値列の他に、
数値列とラベル列をセットにすることで、プロットする色を変更できるようになるので、使いようによっては便利です。
列のデータ型というのものを頭の隅に置いてもらって、まずvisidataの散布図を作る手順は以下のようになります。
1. x軸として指定したい列の数値型を設定。
「#」キー => int型
「%」キー => float型
「$」キー => currency型
「@」キー => date型
2. 「!」キーでx軸となる列を指定する
3. y軸として指定したい列の数値型を設定。
「#」キー => int型
「%」キー => float型
「$」キー => currency型
「@」キー => date型
4. オプションでラベル列として使いたい列を「!」キーで指定する
5. プロットしたい列を選択して「.」キーを押す
一例でやって見ましょう。
なにかcsvデータをvisidataで開きます。
995x541

x軸として利用する列を適当な数値データに指定し、
「!」
315x678

次にy軸で利用する列に数値型を指定しておきます。
800x640

これで対象の数値列を選択して
「.」
989x534

散布図にインタラクティブな操作を行う
visidataのプロットでは、表示中のデータに様々な操作を行うことで、より有用なデータをフィルタリングしたり、拡大表示したりすることが可能です。
例えば、先程のプロットで、集中的に調べたいエリアを選択し、
「zz」
659x785

すると、見てのように拡大して見たい領域のデータだけが表示されます。
さらにここから
「Enter」
700x383

とりわけ表示範囲で良く使うテクニックは、
「x」「y」
マウスから手動の領域範囲指定はなかなか難しいので、この方法ならば確実に狙った範囲をピックアップすることが可能です。
800x734

複数のデータ列を重ねてプロット(マルチプロット)する
先程はxyプロットにおいて、1つの列に対して1つの列、という散布図を描きました。
この他に、同程度の大きさの数値であれば、同一x軸上に複数列の数値をy軸に重ねて表示させることも可能です。
1. 「!」キーでx軸となる列を指定する
2. x軸となる列に数値型を設定する
3. 場合によってはラベル列となる列を「!」キーで追加指定する
4. y軸として表示させたい列すべてに数値型を設定する
5. 「g.」キー(「g」キーを押した後に「.」キー)を実行
簡単な例を示しますが、項目1〜3までは先程の単列プロットの手順と同じです。
異なる手順としては、重ねて表示させたい列に数値型を指定し(表示させたくない列は型無しか文字列型)、
「g.」
778x1000

複数の数値列を重ねてプロットする問題点としては、visidataの散布点は色しか変わらないので見やすくはならないことと、重なったデータ点では一番上のレイヤーにある点しか見えずに、隠れた点がどこにあるのか分からなくなることです。
数値のオーダーが違うデータなど、そもそもグラフとして重ねること難しい列を扱う場合、もしくは、左右上下に分割したプロットを表示させたい場合にはvisidata単体では難しいため、先行して別記事で説明していた
987x544

散布図を操作する
visidataのプロット機能を十分に活用するためには、
ここでは主要なキー&マウス操作をまとめます。
キーボードから操作
visidataのプロットをインタラクティブに操作するには、キーボードからのキーの受付が基礎になります。
細かくなるため、すべてのキー操作には触れませんが、主だって利用するキーは以下のようなものです。
マウスから操作
プロット上のマウス操作もいくつか存在します。
マウスの操作は感覚的な動作なので扱いやすいですが、キーボード操作に慣れれば使わなくても良いでしょう。
visidataからmatplotlibを使ってグラフをエクスポートする
簡易的な2次元プロットをそのまま外部ライブラリとして
matplotlib
700x329

ただし、Python環境に別途matplotlib周りのインストールをしていないと、エラーが発生してしまいます。
matplotlibへのエクスポートを行わせたい場合、追加でいくつかのモジュールを追加します。
$ pip install pandas seaborn
これで問題なくmatplotlib(seaborn)がインストールできた後で、
[Plot] > [Graph] > [replot using matplotlib]
700x466

のようにmatplotlibの作図ダイアログからプロットを製図することができます。
まとめ
今回はvisidataの機能の一つである「簡易散布図プロット」のテクニックをざっとまとめていきました。
CSVファイルから生データをじっくりと確認したい用途などにとても便利に使えるので、この記事の内容に興味が湧けば一度visidataを触ってみてください。
記事を書いた人
ナンデモ系エンジニア
主にAngularでフロントエンド開発することが多いです。 開発環境はLinuxメインで進めているので、シェルコマンドも多用しております。 コツコツとプログラミングするのが好きな人間です。
カテゴリー