LabPlot: 無料のオープンソース・クロスプラットフォーム データ可視化・分析
(labplot.org)- LabPlotは、さまざまなデータ可視化および分析機能を提供する無料ソフトウェア
- CSV、SQL、Excel(xlsx)、JSONなど複数のデータ形式をサポートしており、データの取り込みが容易
- LabPlotを活用すると、科学的分析と可視化を一度に進められる
- クロスプラットフォーム対応により、Windows、macOS、LinuxなどさまざまなOSで利用可能
- オープンソースベースのため、誰でも自由に拡張やカスタマイズが可能
LabPlot 紹介
- LabPlotは無料のオープンソースで、さまざまなプラットフォームで動作するデータ可視化・分析ツール
- ユーザーは科学的プロットやデータ分析の作業を1つのアプリで効率よく処理できる
データ取り込みと互換性
- LabPlotの最初のステップは、さまざまな形式のデータ取り込み
- 対応するデータ形式には、CSV, Origin, SAS, Stata, SPSS, MATLAB, SQL, JSON, バイナリ, OpenDocument スプレッドシート(ods), Excel(xlsx), HDF5, MQTT, Binary Logging Format(BLF), FITS など多数がある
- こうした形式への対応により、データ統合や初期作業を迅速に進められる利点がある
要約
- LabPlotは、クロスプラットフォーム対応の科学データ可視化・分析ツールで、ユーザーがさまざまなデータ形式を素早く取り込み、効率よく扱えるよう支援する
- オープンソースであるため、ユーザー自身が機能拡張やカスタマイズを行える利点がある
1件のコメント
Hacker Newsのコメント
チャートやグラフのツールが今ではごくありふれた日用品のように見なされているのが不思議だ。1988年末にDeltagraphを最初に開発したときは、PostscriptとIllustrator出力をターゲットに、非常に多様なグラフとオプションを盛り込み、世界的に標準のように使われていた。特に印刷用途でよく使われていた。90年代半ばには開発だけを担当し、パブリッシャーに売却された後、パンデミックの頃まで25年間にわたり所有者が何度も変わりながらも、Cで書かれた元のソースコードを基盤に運用され続けていた。今となってはそのコードがどれほどのカオスだったのか想像もつかない
SciDavisを長年使ってきて、以前はQtiPlotも試したことがあるし、機会があればOriginも使っていた。SciDavisは無骨でよく落ちたが、やりたい作業には大きな問題はなかった。グラフのスタイル設定には少し苦労し、スタイルのコピーも不便だった。最近LabPlotを使ってみたが、csvファイルにdatetimeデータがあると、高度なオプションや手動設定をしても日付や時系列フォーマットを正しく認識できない問題があった。ドキュメントサイトはYouTube動画の寄せ集めで、動画を見ながらマニュアルを探す必要があるのは好ましくない。開発者は従来型のドキュメントもきちんと作るべきだ。SciDavisのフォークであるAlphaPlotもあるが、依然として
yyyy-MM-dd hh:mm:ss.zzzの日付問題など独自の課題がある。それでも使えるツールではある。バッチ処理や複数グラフの自動生成、再現性を求めるならgnuplotを使う。学習曲線は急だが、スクリプトを何本か書けば自分用のテンプレートを作れて便利だ。この分野にもオープンソースの動きがあり、常に選択肢が増えるのは良いことだLabPlotマニュアルへのリンク
ggplotのようなツールは細かな調整をしようとすると手間がかかるが、その分柔軟性は素晴らしい。ただ、たとえば加速的縦断研究データで被験者ごとの反復測定spaghetti plotを描いたり、固定効果plotを描こうとすると、ほとんどのソリューションに限界が出てくる。参考までに自分が作ったplotの例がある
プロット例
見た目は本当に素晴らしい。ただ、「なぜこれがmatplotlibやほかの人気チャートツールより優れているのか」を説明するセクションがあればよかった。機能一覧は見たが、頭の中で比較表を組み立てるのは負担が大きい。魅力的な点は多そうだが、時間を投資して新しく学ぶ価値があるのか分かるように、ケーススタディのようなものがあると本当にうれしい
ここに多くの努力が注がれているのは明らかだ。だが、すでにJulia、Matlab、R、Python、Excelなどで実験室のコードと連携できているなら、あえてこのツールを使う動機が何なのか分からず戸惑う。特定のコミュニティで流行っているのだろうか
おそらくOriginのように、一部の科学コミュニティで人気のある商用ツールの役割をFOSSで置き換えるのが目的なのだろう。ほかのソフトウェア(例:計測SW)がすでにデータを作っていて、それを素早くプロットとして可視化し、簡単な曲線フィッティングなどをGUIで処理したいときに便利だ。もしすでに前述の言語やライブラリでデータ処理に慣れているなら、あえてこのツールが必要になる理由はない
私はまさにこのツールのターゲットユーザーかもしれない。R、Python、Maxima、MATLAB/Octaveを行き来しながら、データは普通CSVで受け渡しているが、ツールごとにインターフェースがばらばらで面倒だ。Jupyterもあまり好きではないので、これのほうが使いやすければJupyterの代替としても試してみたい
私の経験では、プログラミングが生産的でなかったり快適でなかったりする人もかなりいる。私は主にPythonを使うが、会社にはJMPのライセンスも多く、ほとんどのエンジニアはExcelで満足している。ただ、私が作業にどれだけ時間をかけているかは人には見せていないし、こういう人たちはオープンソースや無名のプログラムに対して今でも警戒心がある。こういうツールなら、まずは一人で試しに使ってみて、十分よさそうなときだけ上司に「これ使えます」と言える選択肢になるだろう
実際の現場例を一つ挙げると、打ち上げ機プロジェクトのエンジニアとして働いていて、試験や飛行のたびに発生するテレメトリデータフレームがCSVやTSVなど非常に大きなファイルとして蓄積される。数百の変数の時系列グラフを素早く目で追って異常の有無を即座に見つける必要があり、何度も拡大・移動して必要な内容をキャプチャして文書に入れることもある。ときには極端に細かい点(ビット単位、サンプル単位)まで拡大して例外ケースを拾う必要もあるが、イベントがいつどこにあるか事前には分からないので速度が命だ。異なる単位の複数変数プロットを同時に表示して相関関係も見なければならず、チームで分析するときにはその場での可視化も求められる。周波数や統計解析(ピリオドグラム、log/semilog、PDFなど)も必要だ。プロットにマーカーや説明も素早く追加し、ラベルやフォーマットもWYSIWYGで変更したい。しかもメニューを一度操作するだけでFFTやフィルタの適用と可視化まで済んでほしい。Python/Jupyterで一つ一つテキストで操作するのは、この種のワークフローでは時間的にあまりにも非効率だ。LabPlotや私たちが使っていたアプリケーションでは、このような作業をほぼリアルタイムで行えた。Excelもスプレッドシートインターフェースのおかげで近いことはできるが、時系列プロットを作るためにセル、軸、グラフ定義、プロット拡張、ラベル形式などをいちいち指定していると、一か月中ずっと分析だけしていることになる。こうしたアプリケーションでは、コメントやメタデータなどがデータファイルに整形済み注釈として埋め込まれており、素早い作業が可能だったし、大容量ファイルもディスクとメモリのレベルでバッファリングして即時の応答性を実現していた。こういう特殊なワークフローでは、LabPlotや類似ツールが本当に不可欠だ
まだこのツールは使ったことがないが、データをドラッグ&ドロップで可視化できるなら、既存ツールに対する非常に優れた補完になると思う
たぶんこれがプロジェクトのGithubだろう
プロジェクトGithub
KDE GitLab公式開発リポジトリ
HN hug of deathが起きているのか気になる
S3バケットやその他のクラウドオブジェクトストレージ連携のサポートが追加されると本当に助かりそうだ。Iceberg対応も最近人気が高いので入るとよいと思う
現在サポートしているデータベースがSQLiteだけなのは残念だ。データベースやREST APIに直接つなぎたかったのに、ファイルを書き出してまた読み込む手順があまりに面倒だ
LabPlotのマニュアルにはさまざまなDB対応が言及されている
LabPlot SQL連携マニュアル
Qt5.15データベースドライバ一覧
もしかして別の話をしているのだろうか
SQLiteは十分に優れているし、サードパーティのREST APIソリューションもあるので、大きな問題ではない気がする
これはMetabaseやSupersetのデスクトップ版のような立ち位置なのだろうか