Reflexが「XY」をオープンソース化:1億ポイントのチャートもインタラクティブに保つRustベースのPythonチャートライブラリ

Reflex AIは、インタラクティブな2D可視化のためのApache-2.0ライセンスのPythonチャートライブラリ「XY」をリリースしました。ネイティブのRustコアとWebGL2を使用し、1億ポイントのデータでもチャートの応答性を維持し、約0.08秒のレンダリング時間を実現しています。このライブラリは`pip install xy`で利用可能で、Python 3.11以上が必要です。
Reflex AIは、Apache-2.0ライセンスのPython製チャート作成ライブラリ「XY」をオープンソース化しました。このライブラリは、インタラクティブな2D可視化のためのもので、従来のPythonチャートスタックが抱える、行ごとに描画オブジェクトを作成し、数十万ポイントを超えると遅くなるというパフォーマンス問題に対処しています。XYは、レンダリング処理をネイティブのRustコアに移行し、JSONの代わりに型付きバイナリバッファをブラウザに送信し、WebGL2を介して描画します。ベンチマーク結果によると、XYは10,000ポイントで0.071秒、1億ポイントで0.081秒のレンダリング時間を維持します。このライブラリは初期アルファ版(バージョン0.0.1)で、pip install xyでインストールでき、Python 3.11以降が必要です。マーク、軸、凡例、ツールチップ、注釈の宣言的な構成を提供し、散布図、折れ線、エリア、ヒストグラム、ボックス、バイオリン、ECDF(経験累積分布関数)、ヒートマップ、ヘクスビン、コンターなど14のチャートファミリーを備えています。このライブラリは、PythonのColumnStoreに正確なf64列を保持し、ホバー、選択、ズームのドリルダウンで元の行を返すことを保証します。XYは、1,000万ポイントのインタラクティブ散布図を258 KiBのHTMLにエクスポートします(Plotlyでは259 MiB)。Apple M5 Proでのベンチマークでは、XYは100万ポイントで0.084秒、1,000万ポイントで0.083秒、5,000万ポイントで0.076秒、1億ポイントで0.081秒でした。一方、MatplotlibとPlotlyは、ポイント数が多いと失敗または大幅に遅くなります。Reflexはまた、OpenStreetMapの全データセットである100億ポイントのレンダリングも報告しています。このライブラリには移行パスが含まれており、import xy.pyplot as pltで一般的なMatplotlibのpyplotコードを実行でき、reflex-xyアダプタを使用すると、JavaScriptやiframeを使わずにチャートをReflexコンポーネントに変換できます。
出典: MarkTechPost — 原文
関連記事 ↓
新着ニュース