Python で平行座標プロットを作成する方法

Python で平行座標プロットを作成する方法

平行座標プロットは、同じ数値データを共有する複数の変数間の関係を示すために使用される便利な視覚化ツールです。LuckyTemplates では、これらのプロットは非常に単純な Python コードで作成され、これを使用して簡単に作成およびスタイル設定することができます。 

今日のブログでは、 Pythonを使用して多変量または平行座標プロットを作成する方法を学びます。データの準備から、読みやすくするためのプロットのカスタマイズまで、プロセスを段階的に説明します。このチュートリアルのビデオ全体は、このブログの下部でご覧いただけます。 

目次

Python の平行座標プロット: サンプル 1

これが最初のプロットです。これは、変数 A、B、C の 3 つの変数と、項目 1 と 2 を表す 2 つの線を示しています。 

Python で平行座標プロットを作成する方法

つまり、項目 1 用と項目 2 用の 2 つのデータ セットがあることを意味します。また、各データセットには 3 つの変数があります。 

プロットがどのように構成されているかをよりよく理解するためにデータを見てみましょう。 

まずグラフを強調表示します。「データ」をクリックします。 

Python で平行座標プロットを作成する方法

非常に単純なデータを含むテーブルが表示されるはずです。これは、テーブル挿入オプションを使用して作成されました。列には、各項目の変数 A、B、C が各行に分かれていることがわかります。

Python で平行座標プロットを作成する方法

単純なデータがありますが、それを非常に伝えるものに変えることができます。たとえば、このプロットでは、データ間の関係が非常に「低い」と判断できます。 

Python で平行座標プロットを作成する方法

説明のために、このプロットをデータと比較できます。グラフに示すように、項目 1 の変数 B は 100、項目 2 の変数 B は 115 です。 

項目と変数がどのように関連しているかを特定することもできます。たとえば、変数 A が B よりも低く、C が 3 つの中で最も低いことが簡単にわかります。

Python で平行座標プロットを作成する方法

プロット Python コード

それでは、実際のプロットに使用される Pythonコードを進めてみましょう。

まず、[Visualizations]ペインから[Python Visual]を選択します。 

Python で平行座標プロットを作成する方法

最初のグラフを強調表示して、Python スクリプト エディターを開きます。 

Python で平行座標プロットを作成する方法

まず、 matplotlib.pyplotをインポートし、変数plt として保存します。 

Python で平行座標プロットを作成する方法

次に、 pandas.plotting機能を導入します。Pandas は、LuckyTemplates のデータ操作ライブラリとして機能します。主にデータを操作するために使用されますが、プロット機能もあります。

pandas.plottingから平行座標をインポートしましょう。Parallel_coowned は、グラフを作成するための主要な関数になります。 

Python で平行座標プロットを作成する方法

Python でプロットを作成する

13 行目では、 # make alotを記述して、これから何を行うかを文書化します。

Python で平行座標プロットを作成する方法

平行座標を使用し、データセットを渡します。 

Python で平行座標プロットを作成する方法

3 行目では、 pandas.DataFrame ()関数を使用してデータセットが作成されていることがわかります。次に、項目、変数 A、変数 B、および変数 Cを追加し、リストに反映します。 

4 行目では、dataset.drop_duplicates () を使用してデータセットの重複を排除します。

Python で平行座標プロットを作成する方法

[視覚化]ペインに移動して、追加したを確認できます。

Python で平行座標プロットを作成する方法

これらの値のいずれかを削除すると、ビジュアルに影響します。たとえば、変数 C を削除すると、それに応じて座標が変化し、値がどのように機能するかを示します。 

Python で平行座標プロットを作成する方法

[フィールド]ペインの[データ]の下にある変数 C の横にあるボックスをチェックして、変数 Cを元に戻しましょう。

次に、いくつかの異なる引数を取る平行座標関数を渡します。この場合、データセットとアイテムを受け取りデータセットからタイプとディメンションを提供します。

Python で平行座標プロットを作成する方法

関数から項目を削除して実行すると、ビジュアルは機能しなくなります。

Python スクリプト エラーが表示され、Parallel_coowned ()関数に必要な位置引数が 1 つ欠落しています (class_column) 。 

Python で平行座標プロットを作成する方法

それでは、項目を追加し直してみましょう。 位置的なものであるため、クラス座標を記述する必要はありません。完了したらコードを実行できます。 

Python で平行座標プロットを作成する方法

Python でプロットを表示する

次のステップはプロットを表示することです。そのため、16 行目で# show the プロットを記述して、これから行うことを文書化します。

Python で平行座標プロットを作成する方法

先ほどmatplotlib.pyplotをインポートし、 plt として保存したことを思い出してください。プロットを表示するに はplt.show( )関数が必要なので、これを行いました。

Python で平行座標プロットを作成する方法

Python の平行座標プロット: サンプル 2

2 番目のプロットは、petal_length、petal_width、sepal_length、sepal_widthを示すアヤメのデータセットです。最初のグラフと比較すると、もう少しスタイルが良くなります。 

Python で平行座標プロットを作成する方法

このデータセットは Python コードで作成されました。 

データを表示するには、[データの変換]をクリックして、iris_dataset に移動します。 

Python で平行座標プロットを作成する方法

データセットには、がく片の長さがく片の幅花びらの長さ、および花びらの幅という寸法の列が含まれています。タイプの列もあります。 

Python で平行座標プロットを作成する方法

データセットの Python コード

データは Python コードを使用して簡単に取り込まれました。「ソース」に移動してPython スクリプトを表示します。 

Python で平行座標プロットを作成する方法

Python コードには 2 行しかありません。最初の行では、seaborn をインポートし、変数snsとして保存しました。データセットにiris_datasetという名前を付け、sns 変数を使用してsns.load_dataset('iris')関数を使用してデータセットをロードしました。 

Python で平行座標プロットを作成する方法

[OK]をクリックして、上で確認したデータを取得します。データ内を移動し、完了したら、 [閉じて適用] > [閉じる]に移動してデータセットを閉じることができます。 

Python で平行座標プロットを作成する方法

Python でのプロットのスタイル設定

より様式化されたグラフの Python スクリプト エディターを開くには、2 番目のプロットをクリックします。

まず、 matplotlib.pyplot をpltとしてインポートします。 

Python で平行座標プロットを作成する方法

次に、関数plt.style.use ('dark_background')を使用してビジュアルのスタイルを設定します。 

Python で平行座標プロットを作成する方法

matplotlib のスタイル シート リファレンスを使用すると、好みのスタイルに基づいて背景を簡単にカスタマイズできます。私たちの場合は、暗い背景を使用しました。

Python で平行座標プロットを作成する方法

一般的に使用されるスタイルであるggplotも使用してみましょう。

Python で平行座標プロットを作成する方法

実行すると、次のようなビジュアルが表示されます。 

Python で平行座標プロットを作成する方法

次に、pandas.plottingから平行座標をインポートして、グラフのパンダ関数を読み込みます。 

Python で平行座標プロットを作成する方法

プロットを作成するには、データセットを取り込み、種をクラス として設定します。 

Python で平行座標プロットを作成する方法

最初のプロットと比較して、異なる色を取得するためのカラーマップである追加のパラメーターを追加します。matplotlib 変数plt.get_cmap を使用してそれを渡します。 

Python で平行座標プロットを作成する方法

matplotlib のカラーマップ リファレンスには、選択できる matplotlib カラー変数が多数あります

Python で平行座標プロットを作成する方法

たとえば、現在は定性的カラーマップのセット 2 を使用していますが、これをサイクリック カラーマップのhsvなどの他の色に変更することもできます。 

Python で平行座標プロットを作成する方法

「実行」をクリックすると、次のようなプロットが表示されます。 

Python で平行座標プロットを作成する方法

Hsv はデータではあまり良くないようですが、プロットに最適なカラーマップが見つかるまで試してみることができます。 


Python 相関:
ProfileReport() を使用して Pandas でビジュアル データセットを作成するためのガイド | LuckyTemplates の Python
変数の分布を視覚化するための Python の Seaborn 関数

結論

このチュートリアルでは、Python で平行座標プロットを作成する基本について説明しました。データを準備し、プロットを作成し、読みやすくするためにプロットをカスタマイズするというプロセスを経ました。 

平行座標プロットは、高次元データを視覚化するための強力なツールであり、金融​​、エンジニアリング、機械学習などのさまざまな分野で使用できます。Pythonで平行座標プロットを作成する方法がわかったので、それを使用して独自のデータをよりよく理解し、視覚化することができます。

ではごきげんよう、

ゲイリム・オランダ


Power Automate の文字列関数: Substring と IndexOf

Power Automate の文字列関数: Substring と IndexOf

Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。

2 つの方法による SharePoint 列の検証

2 つの方法による SharePoint 列の検証

SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。

Power Automate のオンプレミス データ ゲートウェイ

Power Automate のオンプレミス データ ゲートウェイ

ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。

DAX 数式での LASTNONBLANK の使用

DAX 数式での LASTNONBLANK の使用

DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。