#28 円グラフ

>100 Views

October 01, 23

スライド概要

このセクションでは、円グラフの描き方を解説します。

seabornは、より美しく、より簡単にグラフ描画を実現してくれるライブラリですが、現時点では円グラフを描く機能はありません。しかし、日本ではプレゼン等で、市場シェアを円グラフで見せる機会が多いため、ここでは、「Plotly」というライブラリーを使います。

それらを実現するプログラムは下記の2つです。

73 import plotly.express as px

74 px.pie(データ名, values=“分類したい列名”, names=“値の列名”)

ライブラリー「Plotly」は、円グラフを描くことができるだけでなく、インタラクティブなグラフを描けることが最大の特徴です。動画の後半で、そのインタラクティブ性を確認してみてください。

また、「Dash」 を使うと「Plotly」で可視化したインタラクティブなプロットをWeb上で操作することができます。コラボを使わなくても、ホームページで「Plotly」を使うことができるというわけです。この解説は下記のURLを参照してください(英語ですが、頑張ってみてください)。

1st STEP同様、動画のテキスト、追加情報は下記のブログを参考にしてください!

■この動画のブログ

●データサイエンス チュートリアル
 https://tutorial4datascience.blogspot.com/

■参考URL

●様々な円グラフの描き方
  【plotlyチュートリアル】 第4回円グラフ

https://cafe-mickey.com/python/plotly-tutorial-4/

●「Plotly」全体の公式ドキュメント
  Plotly Open Source Graphing Library for Python

  https://plotly.com/python/

profile-image

すべてのビジネスパーソンが意思決定プロセスにデータを活用する思考を身につけ、ブルシットジョブをこの世からなくしていきましょう!

関連スライド

各ページのテキスト
1.

1 2nd STEP 集計とグラフ描画 Section 26 円グラフ 73 import plotly.express as px 74 px.pie(データ名, values=“分類したい列名”, names=“値の列名”)

2.

2 Section 26 円グラフ 1.plotly seabornは、より美しく、より簡単にグラフ描画を実現してくれるライブラリですが、現時点で は円グラフを描く機能はありません。 しかし、日本ではプレゼン等で、市場シェアを円グラフで見せる機会が多いため、ここでは、 「Plotly」というライブラリーを使います。 「Plotly」には下記のように2つのモジュール(*)があり、ここでは簡単な「express」を用い ます。 ※ 「モジュール」とは、「プログラミング言語のPythonでつくられたファイル」のことを意味しています。「モジュール」というの は、「拡張子が. pyになっているPythonのファイル」を指し示しているのです。また、Pythonでは、「いくつかのモジュール を集めたパッケージ」があります。「ライブラリ」というのは、「そのパッケージをさらに複数集めてまとめたものです。 graph_objects:「go」と略す ●複雑なグラフを描ける(3Dグラフやアニメーション、複数のグラフを描く等) ●開発者向けの細かい設定ができる express:「px」と略す ●簡単に少ないコードでグラフを描ける 73 import plotly.express as px

3.

3 Section 26 円グラフ 2. 円グラフ 「plotly.express」で円グラフを描くためには、下記のようなプログラムを使います。 74 px.pie(データ名, values=“分類したい列名”, names=“値の列名”) ただし、 「plotly .express」は、「graph_objects」も使えるため、作成したグラフに様々な設定を加えることができます。 そのため、74に他の名前を宣言し、追加のプログラムを簡単に記載することができるようにするのが一般的です。この場合、 他の名前は、figure(図表)を意味する「fig」使うことがほとんどです。 fig = px.pie(id_pos11, values="Total", names="価格帯") fig.update_traces(textposition='inside', textinfo='percent+label‘) fig.show() 上記は、下記のようなプログラムを追加しています。 「update_traces」 → 円グラフ内にテキスト・数字等を追加する機能 「textposition=‘inside’」 → 円グラフの該当部分の内側にテキスト・数字を表示 「textinfo=‘percent+label‘」 → パーセントとラベルを表示 「fig.show()」 → グラフを表示 ここでは、まずは円グラフを描くことを身に付けるために、74を使いましょう。

4.

4 Section 26 円グラフ 3.インタラクティブなグラフ ライブラリー「Plotly」は、円グラフを描くことができるだけでなく、インタラクティブなグラフを描け ることが最大の特徴です。 例えば、円グラフの凡例(価格帯)の下4つをクリックしてみます。クリックした部分が薄くなり、 残った部分「-5」、「5-10」が残ります。円グラフも、それに応じて変化し、 「-5」と「5-10」との 「Total」の比率、すなわち、 「-5」と「5-10」との購入価格の比率に変化します。比率の合計は、 凡例が2つになっても100%になっています。 価格帯別に見た購入価格の高いもの上位二つの比率を見ることができ、注目するデータのみを グラフ化することもできます。まさに、インタラクティブですね! クリックすると薄く なって、グラフに現 れなくなります。

5.

5 Section 26 円グラフ 参 考 ライブラリー「Plotly」に関して、さらに学習を深めたい方は、下記の資料を参考にしてください。 1.様々な円グラフの描き方 【plotlyチュートリアル】<<第4回>>円グラフ https://cafe-mickey.com/python/plotly-tutorial-4/ 2.「Plotly」全体の公式ドキュメント Plotly Open Source Graphing Library for Python https://plotly.com/python/ また、「Dash」 を使うと「Plotly」で可視化したインタラクティブなプロットをWeb上で操作するこ とができます。コラボを使わなくても、ホームページで「Plotly」で使うことができるというわけです。こ の解説も2にありますので、興味のある方は一読してみてください(英語ですが・・・)。

6.

6 Section 26 円グラフ 73 import plotly.express as px 74 px.pie(データ名, values=“分類したい列名” , names=“値の列名”) まずは、ライブラリー「plotly.express」をインポートして、「pie」を使って円グラフを描きます。

7.

7 Section 26 円グラフ 74 px.pie(データ名, values=“分類したい列名” , names=“値の列名”) 円グラフの凡例をクリックして、 「Plotly」のインタラクティブ性を確認してみてください。 クリックすると薄く なって、グラフに現 れなくなります。

8.

8 Section 26 円グラフ 70 sns.scatterplot(data=データ名, x="列名1", y="列名2") 「fig」を宣言して、70に下記のようなプログラムを追加して、グラフの見栄えをよくしてみましょう。 「update_traces」 → 円グラフ内にテキスト・数字等を追加する機能 「textposition=‘inside’」 → 円グラフの該当部分の内側にテキスト・数字を表示 「textinfo=‘percent+label‘」 → パーセントとラベルを表示 「fig.show()」 → グラフを表示

9.

9 Section 26 円グラフ おまけ 散布図