LoginSignup
24
13

More than 5 years have passed since last update.

matplotlibを使ってデータ可視化(箱ひげ図)

Last updated at Posted at 2018-09-30

今回はPython3のmatplotlibの簡単な使い方について話したいと思います.
なぜwxpythonの続きではなく?--->理由は授業で使うからの理由でmatplotlibにした.

matplotlibとは

matplotlibはPythonでグラフを描画するときなどに使われる標準的なライブラリです.
画像ファイルを作るばかりでなく,簡単なアニメーションやインタラクティブなグラフを作ることもできます.
実際の例はmatplotlibサイトのギャラリーで見ることができます.
https://matplotlib.org/gallery.html

準備

サンプルコードを動かす上で予めいくつかモジュールを読み込んでおきます.

import numpy as np
import matplotlib.pyplot as plt

Wikipediaでmatplotlibを見てみると以下の4つのグラフについて紹介しました.

  • 折れ線グラフ
  • ヒストグラム
  • 散布図
  • 3Dグラフ

今回のデータ可視化する図は箱ひげ図となります.

箱ひげ図

箱ひげ図を作るに当たって,まず箱ひげ図についての見方について話します.
四分位数の値を箱ひげに当てはめると次のようになります.
スクリーンショット 2018-09-25 11.23.11.png

最大値と最小値についてはみんなが分かると思いますが,四分位数について分からない人があると思いますので,簡単に紹介します.
四分位数をパーセンタイルに置き換えてに考えると非常に簡単です.

  • 25パーセンタイル=第一四分位数
  • 50パーセンタイル=第二四分位数
  • 75パーセンタイル=第三四分位数

スクリーンショット 2018-09-25 11.26.33.png

この3つの四分位数で区切ると,データの個数を4等分することができます.また,第三四分位数から第一四分位数を引いたものを四分位範囲(Inter Quarter Range 略してIQR)といいます.

プログラム

まず,今回で使うデータセットは事前にSQLiteで作成したRecord(データベース名)を利用します.

Japanese(Table Name)

学籍番号 点数
JA01 16
JA02 88
JA03 94
JA04 76
JA05 41
JA06 65
JA07 25
JA08 68
JA09 97
JA10 43

English(Table Name)

学籍番号 点数
JA01 54
JA02 28
JA03 98
JA04 71
JA05 40
JA06 75
JA07 66
JA08 70
JA09 57
JA10 47
import sqlite3
import matplotlib.pyplot as plt
import numpy as np

# データベースに接続
dbname = "Record.sqlite3"
conn = sqlite3.connect(dbname)
c = conn.cursor()

# データを取り出す
Japanese_select = "select mark from Japanese"
English_select = "select mark from English"

Japanese = c.execute(Japanese_select).fetchall()
English = c.execute(English_select).fetchall()

# 点数のタプル
points = (mark(Japanese),mark(English))
# 箱ひげ図
fig, ax = plt.subplots()

bp = ax.boxplot(points)
ax.set_xticklabels(['Japanese', 'English'])
# タイトル名
plt.title('Japanese & English Box Plot')
# ラベル名
plt.xlabel('subject')
plt.ylabel('points')
# Y軸のメモリの長さ
plt.ylim([0,100])
plt.grid()
# 描画
plt.show()

# データベースを閉じる
conn.close()x

上のプログラムを実行して表示する図は以下のようになります.
Figure_1.png

今回のmatplotlibを使ってデータ可視化(箱ひげ図)は以上で終わります.
読んでいただいてありがとうございます.

24
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
13