Help us understand the problem. What is going on with this article?

Matplotlibを利用したソースコードの読み方

More than 3 years have passed since last update.

目的

Kaggleのサイトで、とある方のソースコードを参照し、それの見方を私なりに理解しようと思いまして、ここに記録致します。

環境はPython 3、matplotlibとpandasを利用しています。

参照したソースコード

import matplotlib.pyplot as plt
import pandas as pd

df = pd.read_csv("./creditcard.csv")


f, (ax1, ax2) = plt.subplots(2, 1, sharex=True, figsize=(12,4))

bins = 50

ax1.hist(df.Time[df.Class == 1], bins = bins)
ax1.set_title('Fraud')

ax2.hist(df.Time[df.Class == 0], bins = bins)
ax2.set_title('Normal')

plt.xlabel('Time (in Seconds)')
plt.ylabel('Number of Transactions')
plt.show()

image

matplotlibとは

import matplotlib.pyplot as plt

Matplotlibは、プログラミング言語Pythonおよびその科学計算用ライブラリNumPyのためのグラフ描画ライブラリである。Wikipediaを参照

Python用のグラフ描画ライブラリと覚えておきます。マットプロットリブって読むんですかね。

pandasとは

import pandas as pd

Pandasは、プログラミング言語Pythonにおいて、データ解析を支援する機能を提供するライブラリである。特に、数表および時系列データを操作するためのデータ構造と演算を提供する。PandasはBSDライセンスのもとで提供されている。
Wikipediaを参照

Python要のデータ解析用のライブラリとのことです。数表、時系列データの操作を提供しているそうです。
パンダスと読むんでしょうか。パンズなのでしょうか。よく分からないですね。

subplotsとは

f, (ax1, ax2) = plt.subplots(2, 1, sharex=True, figsize=(12,4))

のところの、2と1はrowとcolumnとのことです。つまり、2行、1列ということのようです。http://matplotlib.org/api/pyplot_api.htmlより

f, (ax1, ax2) というのがよく分かりませんが、上記サイトにこれに近いSampleがあるので、こういう書き方なんだろな、程度に理解しておきます。

rowが2でcolumnが1なので、2つのグラフということでax1とax2ということなんだろな、と思いますが。
fは何を意味しているのかいまいちよく分かりません。y軸(縦軸)のことで、どんな文字列でも良い変数という意味でしょうか。

sharexとは

f, (ax1, ax2) = plt.subplots(2, 1, sharex=True, figsize=(12,4))

のところのsharex=Trueのことです。

複数のグラフを表示するときに、X軸の設定をすべてのグラフで設定するのが面倒な時にShareが使えます。subplotsに引数でsharex=Trueとするだけです。[Python]Matplotlibで複数のグラフを描画する方法より

figsizeとは

f, (ax1, ax2) = plt.subplots(2, 1, sharex=True, figsize=(12,4))

のところのfigsize=(12,4)のことです。
インチで、デフォルトでは(8, 6)とのことです。グラフの画像サイズのことのようです。
西尾泰和のはてなダイアリー

histとは

ax1.hist(df.Time[df.Class == 1], bins = bins)

のところのhistですが、これでヒストグラムを作ってくれるようです。hist(データ、bins=ビン数)のように指定するそうです。
[Python]Matplotlibで複数のグラフを描画する方法より

ヒストグラムと棒グラフの違いがいまいち分かってませんでしたがこちらのサイトを見て理解しました。
棒グラフとヒストグラムの違い
面積で度数を表すのがヒストグラム、そうでないのが棒グラフのようですね。

binとは

bins = 50

でbinsが50で定義されていますが、つまりグラフでいうところのX軸の数のことのようです。

ヒストグラムは、各々が互いに素である区間・階級(カテゴリ、これをビン (bins) という。 Wikipediaより

wave_ryo
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away