Plotly⑮(平行座標プロット)

平行座標プロット

Plotlyで平行座標プロットを表示するにはParcoordsクラスを使用します。

Parcoordsクラス引数 dimensionsに描画するデータを設定します。

データとしては、以下のキーを指定した辞書データをリストで渡します。(9~14行目)

  • label
    要素名(軸ラベルとして表示される)
  • values
    リストなどの値

軸間の線分を色分けするには、引数 line“color”をキーとしてリストなどのデータを値とした辞書を設定します。(15行目)

[Google Colaboratory]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import plotly
import plotly.graph_objects as go

iris = plotly.data.iris()

go.Figure(
[
go.Parcoords(
dimensions=[
{"label": "sepal_length", "values": iris["sepal_length"]},
{"label": "sepal_width", "values": iris["sepal_width"]},
{"label": "petal_length", "values": iris["petal_length"]},
{"label": "petal_width", "values": iris["petal_width"]}
],
line={"color": iris["species_id"]} # species_idで色分け
)
]
).show()

[実行結果]

軸の上端をドラッグすると要素を左右に移動することができます。

また軸上で任意の範囲をドラッグすると、その範囲の要素をハイライトして表示できます。

[実行結果(軸を移動し、ハイライト表示)]

上図は、一番右に表示されていた“petal_width”を左から2番目に移動し、その軸上の0.5から1.5の範囲を選択しハイライト表示(ピンク色)しています。