Python Matplotlibのグラフの基本

Python学習【365日チャレンジ!】321日目のマスターU(@Udemy11)です。

今、この日本には、「この国を何とかしたい!」という強い想いをもっていた坂本竜馬のような政治家はいないんでしょうか?

  • 私が知らないところで行われていた。
  • 私は知らなかったので、私には責任がない。
  • 自分がやったことではない

なんてことを言っておけば、なんの責任も追及されないと思っている人が日本の最大権力者だったのには驚きですが、周りにいる人たちも腐りきっていますね。

その昔、金八先生が生徒たちを腐ったミカンと言われて反論していましたが、そのたとえは、まさに今の政治家にこそふさわしい。
いつから日本の政治家は腐ったミカンの集まりになってしまったのでしょうか?

最初から腐ったミカンばかりじゃなく、日本を何とかしたいという強い志をもって政治家になった人もいるんでしょうけど、権力が人を腐らせていくのかもしれませんね。

いっそのこと、ホリエモンやキンコンの西野さんに、この国のかじ取りを任せたほうが、より魅力的な日本になると思うのは、私だけじゃないと思います。

といっても、日本を変えるところまで行くには、さまざまな障壁があるので、途中であきらめてしまうのかもしれません。

最高権力者だけは、国民投票で選ぶシステムにしてもらいたいものです。

それでは今日も、Python学習を始めましょう。

昨日の復習

昨日は、データ解析の前処理ができるPandasの少しだけ応用的な使い方を学習しました。

配列の行列を指定して抽出したり、列や行を追加したり、配列同士をつなげたりすることができました。

基本的な配列の操作を昨日までにひととおり学習したので、3日間を振り返って復習してみてください。

昨日の記事はこちらです。

今日は、グラフ描写の定番Matplotlibを学習します。

Matplotlibとは

Matplotlibは、Pythonの描画ライブラリで、Jupyter Notbookに標準でインストールされているグラフ描写ライブラリで、2次元の折れ線グラフや棒グラフ、円グラフ、3次元のグラフなども描くことができます。

多次元配列を扱うNumpyと組み合わせることで、さまざまなグラフを描くことができます。

データ解析においては、データを可視化するということが非常に重要なので、数値をグラフに変換し、人が見てわかりやすい結果を表示することが必要不可欠です。

Matplotlibは、データ解析の中でも重要な最後のパートであるレポートを作成する段階で活用されるライブラリです。

グラフの描写

後でNumpyも使うので、最初にmatplotlib.pyplotnumpyをインポートします。

import matplotlib.pyplot as plt
import numpy as np

次に単純に線グラフを描くコードを書いていきます。

plt.plot([1, 2, 3, 4])
plt.ylabel('number')
plt.xlabel('index')
plt.show()

Python Matplotlibのグラフの基本

Y軸にリストの数値、X軸にインデックス値をとったY軸のラベルがnumber、X軸のラベルがindexの線グラフが描写されています。

次に、X軸の数値とY軸の数値を指定した折れ線グラフを書いてみます。

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.show()

Python Matplotlibのグラフの基本

最初のリストがX軸で、次のリストがX軸の値に対するYの値です。

先程のグラフがインデックス値の0から始まっているのに対して、X軸の最初の値である1から始まっています。

次に、X軸、Y軸の表示範囲を指定して赤丸で値のグラフを表示します。

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 10])
plt.show()

Python Matplotlibのグラフの基本

X軸の範囲がaxis0から6までに指定して、Y軸の範囲を0から10までに指定しています。

X軸、Y軸ともに4つづつの値が入っていますが、表示されているのは、3つ目までです。

roは、赤丸で値のポイントを表示するコードになります。

値の表示マーカー

分布する値の位置を表示するマーカーの色や形を指定して、表示することができます。

まずは、numpyで、0から5までの値で0.2づつ増える配列を作成します。

t = np.arange(0, 5, 0.2)
t
# array([0. , 0.2, 0.4, 0.6, 0.8, 1. , 1.2, 1.4, 1.6, 1.8, 2. , 2.2, 2.4,
#        2.6, 2.8, 3. , 3.2, 3.4, 3.6, 3.8, 4. , 4.2, 4.4, 4.6, 4.8])

どんな配列になっているのか確認するために、一旦tを出力してみました。

次は、表を表示するコードです。

plt.plot(t, t, 'r--', t, t**2, 'g^', t, t**3, 'bs', t, t**4, 'ro')
plt.show()

Python Matplotlibのグラフの基本

plt.plotの引数は3つずつ値とマーカーの色や形を定義しているので、4つのグラフが描かれています。

X軸はすべてtの値で、Y軸は順番にttの2乗3乗4乗で、マーカーは、r--が赤の点線、g^が緑の三角、bsが青の四角、roが赤丸を表します。

まとめ

Matplotlibのグラフ描写の基本を学習しました。

X軸とY軸を指定して、ラベルを付けたり、表示する範囲を指定したり、マーカーの色や形を定義することができました。

配列は一見、羅列されているだけの数字ですが、グラフにしてみると、規則正しい数列になっていることがわかるので、いろいろと描写して、グラフを描く楽しみを感じてみてください。

それでは、明日もGood Python!