🐍
[Python] matplotlibで円グラフを描く
はじめに
Python のデータ分析の学習を始めたいと思い、
Python2 年生 データ分析のしくみ 体験してわかる!会話でまなべる!を購入しました。
そこで matplotlib で円グラフを描くを学びました。
学習した内容を執筆します。
項目 | 内容 |
---|---|
対象者 | ・matplotlib で円グラフを描く方法が分からない |
伝えたい内容 | ・Python で円グラフを描く方法 |
前提条件 | ・Python 3.9.10 ・matplotlib 3.6.2 ・seaborn 0.12.2 ・pandas 1.5.2 |
サンプルコード
1. ライブラリーをインストール
pip install matplotlib
pip install pandas
pip install seaborn
インストールが出来たか下記コマンドで確認します。
$ pip show matplotlib
Name: matplotlib
Version: 3.6.2
Summary: Python plotting package
Home-page: https://matplotlib.org
Author: John D. Hunter, Michael Droettboom
Author-email: matplotlib-users@python.org
License: PSF
Location: /home/furuta/.local/lib/python3.9/site-packages
Requires: contourpy, cycler, fonttools, kiwisolver, numpy, packaging, pillow, pyparsing, python-dateutil
Required-by:
$ pip show seaborn
Name: seaborn
Version: 0.12.2
Summary: Statistical data visualization
Home-page:
Author:
Author-email: Michael Waskom <mwaskom@gmail.com>
License:
Location: /home/furuta/.local/lib/python3.9/site-packages
Requires: matplotlib, numpy, pandas
Required-by:
$ pip show pandas
Name: pandas
Version: 1.5.2
Summary: Powerful data structures for data analysis, time series, and statistics
Home-page: https://pandas.pydata.org
Author: The Pandas Development Team
Author-email: pandas-dev@python.org
License: BSD-3-Clause
Location: /home/furuta/.local/lib/python3.9/site-packages
Requires: numpy, python-dateutil, pytz
Required-by:
2. コーディング
円グラフを描きます
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
# グラフにstyleとfontを設定する
sns.set(style="whitegrid", font=["Yu Gothic"])
data = {
"つぶあん": [62, 47, 18],
"こしあん": [35, 26, 12]
}
index = ["好き", "普通", "嫌い"]
df = pd.DataFrame(data, index)
# 円グラフを表示する
# startangle=90, counterclock=False データの始まりを真上から開始するオプション
# labeldistance=0.5 データのindexを内側に入れるオプション
df["つぶあん"].plot.pie(startangle=90, counterclock=False, labeldistance=0.5)
plt.show()
- VScode で作業中のファイルを開き、そのファイル上で右クリックを押してください。
- 下記画像のように候補の中にターミナルで Python ファイルを実行するをクリックする
期待通りのグラフが画像として表示されました!
Discussion