DUICUO

Antminer Open Source: もうひとつの素晴らしいオープンソース Python 視覚化ライブラリ。

PyG2Plot 可視化

この有望な新しい Python 視覚化ツールは、GitHub で次のように説明されています。

  • 🎨 PyG2Plot は、Python 3 の @AntV/G2Plot のラッパーです。G2Plot は、グラフ文法の理論に基づいて構築された、拡張性と構成性を備えたシンプルで使いやすい統計チャート ライブラリです。

しかし、PyG2Plotを学ぶには、まずG2から始める必要があります。G2は、Ant Financialが開発したグラフ構文をベースにデータ分析に特化したオープンソースの統計チャートエンジンです。後に、ビジネスアプリケーションで広く使用されている統計チャートライブラリであるG2Plotは、このエンジンをベースにカプセル化されました。

しかし、Pythonの人気が高まった現在、優れたフロントエンド可視化ライブラリのほとんどが、最終的には対応するHTMLを生成するPythonライブラリとして開発されるでしょう。Pythonも例外ではなく、Python可視化ライブラリであるPyG2Plotをカプセル化しています。

GitHub にもサンプル画像が提供されており、特に右下の散布図が興味深いです。

非常に興味を持って事例を見に行きましたが、それはまるでバイヤーのショーとセラーのショーを比べているようでした。

どちらでもいいよ、右のが欲しい👉

自分でやれば、食べるものも着るものもたっぷりあります。

どうやら自分でやる必要があるようなので、まずはPyG2Plotライブラリをインストールしましょう。

 pipでpyg2plotをインストールする

現在、pyg2plot は必要なパラメータのみをリストしたシンプルな API のみを提供しています。

  • プロット
  1. Plot(plot_type: str): Plot に対応するクラスのインスタンスを取得します。
  2. plot.set_options(options: object): プロットインスタンスの G2Plot プロットの構成を設定します。
  3. plot.render(path, env, **kwargs): HTML ファイルをレンダリングします。ファイル パス、jinja2 env および kwargs パラメータを渡すことができます。
  4. plot.render_notebook(env, **kwargs): プロットを Jupyter プレビューにレンダリングします。

したがって、まずPlotメソッドをインポートできます。

 pyg2plot からPlot をインポート

散布図を描く必要があります。

 scatter = Plot ( "Scatter" )

次のステップは、データを取得し、`plot.set_options()` を使ってパラメータを設定することです。ここでは、`requires` を使ってサンプルの JSON を解析し、直接データを取得します。パラメータについては後ほど説明します。

 輸入リクエスト
#リクエストURL
url = "https://gw.alipayobjects.com/os/bmw-prod/0b37279d-1674-42b4-b285-29683747ad9a.json"
# GETリクエストを送信する
a = リクエスト.get ( URL )
# 返されたJSONデータを取得してデータに割り当てる
データ= a.json ( )

解析されたオブジェクトのコレクションを正常に取得しました。

以下はパラメータに基づいた一連の迅速な操作です。

 scatter.set_options (
{
'appendPadding' : 30 ,
'データ' : データ
「xField」「女性率の変化」
'yField' : '男性率の変化' ,
'sizeField' : 'pop' ,
'colorField' : '大陸' ,
'カラー' : [ '#ffd500' , '#82cab2' , '#193442' , '#d18768' , '#7e827a' ],
'サイズ' : [ 4 , 30 ],
「形状」「円」
'pointStyle' :{ 'fillOpacity' : 0.8 , 'stroke' : '#bbb' },
'xAxis' :{ 'line' :{ 'style' :{ 'stroke' : '#aaa' }},},
'y軸' :{ '線' :{ 'スタイル' :{ 'ストローク' : '#aaa' }},},
「象限」 :{
'xベースライン' : 0 ,
'yベースライン' : 0 ,
'ラベル' : [
{ 'content' : '男性減少、\n女性増加' },
{ 'content' : '女性の減少、\n男性の増加' },
{ 'content' : '女性と男性の減少' },
{ 'content' : '女性と男性の増加' }, ],},
})

Jupyter ノートブックでプレビューする場合は、次のステートメントを実行します。

 scatter.render_notebook ( )

完全な HTML をレンダリングするには、次のステートメントを実行します。

 scatter.render ( " scatterplot.html " )

結果を見てみましょう。

パラメータ解析と完全なコード

読者の皆様、この部分は少し退屈かもしれませんので、最後までスクロールするか、クリックしてブックマークしてください。

主な焦点は、scatter.set_options() のパラメータの説明に置かれ、後で自分で変更できるようになります。

いくつかの部分に分けて段階的に説明しましょう。

パラメータの説明

 'appendPadding' : 30 , #①
'データ' : データ#②
「xField」「女性率の変化」#③
'yField' : '男性率の変化' ,

① チャートの右上と左下の間隔。このパラメータを追加するかどうかについては、以下の画像をご覧ください。

② チャートのデータソースを設定します(データには既に値が割り当てられています)。ここでのデータソースはオブジェクトのコレクションです。例:[{ time: '1991', value: 20 }, { time: '1992', value: 20 }]。

③パラメータxFieldとyFieldはそれぞれ水平座標軸と垂直座標軸に対応するフィールドです。

パラメータの説明

 'sizeField' : 'pop'#④
'colorField' : '大陸'#⑤
'カラー' : [ '#ffd500' , '#82cab2' , '#193442' , '#d18768' , '#7e827a' ], #⑥
'サイズ' : [ 4 , 30 ], #⑦
「形状」「円」#8

④散布図のサイズに対応するフィールド名を指定します。ここではpop(人口)フィールドを使用しました。

⑤ 散布図の色に対応するフィールド名を指定します。ここでは「continent」フィールドを使用します。

⑥ 散布点の色を設定し、系列の色の値を指定します。

⑦ 散布図のサイズを設定します。サイズ配列[minSize, maxSize]を指定できます。

8.円や四角など、点の形状を設定します。

パラメータの説明

 'pointStyle' :{ 'fillOpacity' : 0.8 , 'stroke' : '#bbb' }, #⑨
'xAxis' :{ 'line' :{ 'style' :{ 'stroke' : '#aaa' }},}, #⑩
'y軸' :{ '線' :{ 'スタイル' :{ 'ストローク' : '#aaa' }},},

⑨ `pointStyle` は線のスタイルを表しますが、散布図では散布点のストロークを表します。さらに、`fillOpacity` は透明度を設定し、`stroke` はストロークの色を設定します。

⑩ ここでは座標軸の色のみ設定します。

パラメータの説明

 「象限」 :{
'xベースライン' : 0 ,
'yベースライン' : 0 ,
'ラベル' : [
{ 'content' : '男性の減少、\n女性の増加' },
{ 'content' : '女性の減少、\n男性の増加' },
{ 'content' : '女性と男性の減少' },
{ 'content' : '女性と男性の増加' }, ],},

象限は 4 つの象限コンポーネントで構成され、具体的な構成の詳細は次のとおりです。

詳細な設定

機能説明

xベースライン

x 方向の象限分割ベースラインはデフォルトで 0 です。

yベースライン

Y 方向の象限分割のベースライン。デフォルトは 0 です。

ラベル

象限テキスト構成

PyG2Plot のドキュメントはまだ不完全であり、上記のパラメータの多くは試行錯誤の末に発見されたものです。あくまで参考資料としてご利用ください。

PyG2Plotの原理は実は非常にシンプルです。PyeChartsの実装を借用していますが、Ant FinancialのG2Plotはビジュアル分析理論の構成構造に完全に基づいているため、カプセル化はPyeChartsよりもはるかにシンプルです。