目次
はじめに

今回はPythonの基礎文法で簡単に数学のグラフを書く方法についての記事です。
matplotlibはデータを可視化することができるのでデータ分析などを行いたい方は必須のライブラリとなっています。
データ分析を行いたい方は必見です。
Pythonは人工知能、機械学習、ディープラーニング、データ解析などに特化しており、2020年プログラミング言語人気ランキング1位になっています。
Pythonについて詳しく知りたい方はこちらのウェブサイトをどうぞ。
numpyも用いるのでわからない方は先にそちらの記事をどうぞ。
グラフを書くための準備
まずターミナル上でpythonと打ち込んであげてます。
その次にグラフを書くための準備としてmatplotlibとnumpyをimportしてあげましょう。
import matplotlib.pyplot as plt
import numpy as np
JupyterNotebookを用いる場合は
%matplotlib inline
と打ち込んであげてください。
それではグラフを書いていきます。
x-yグラフの書き方
まずはplt.plotとしてあげます。
最初の配列にはx座標が入り、二番目の配列にはy座標が入ります。
そしてx座標が1でy座標が1、x座標が2でy座標が4のものが順番にプロットされていきます。
そしてplt.show()をすることでグラフを表示することができます。
plt.plot([1,2,3,4,5],[1,4,9,16,25])
plt.show()

またx座標とy座標をnumpyを使って宣言してプロットすることもできます。
x = np.arange(10)
y = np.random.randint(-10,10,10)
plt.plot(x,y)
のようにです。
np.arange(10)とは10個の配列に0~9までの数字を順番に代入するnumpyのメソッドです。
np.random.randint(-10,10,10)とは−10から10までの数字をランダムに10個の配列に格納するメソッドです。
このようにnumpyを用いてグラフをプロットすることも可能です。

x軸やy軸に名前をつける
x軸やy軸に名前をつけてあげたい場合にはlabelを使います。
plt.xlabel('price')
plt.ylabel('suply')
plt.plot([1,2,3,4,5],[1,4,9,16,25])
とすると

とx軸とy軸の属性を設定できて軸に名前をつけたグラフを書くことができました。
表のタイトルをつける
タイトルをつけたい場合はplt.title()を用いてあげます。
x = np.arange(10)
y = np.random.randint(-10,10,10)
plt.plot(x,y)
plt.title('Result')
plt.xlabel('x axis')
plt.ylabel('y axis')

棒グラフの書き方
棒グラフを書く場合はまずオブジェクトを配列の中に入れてあげます。
y_posはそのまま書いていただいて大丈夫です。
次にy座標の値を順番に宣言してあげましょう。
最後にylabelとtitleで表の名前とy座標の属性を入れてあげましょう。
objects = ['a','b','c','d','e']
y_pos = np.arange(len(objects))
value = (1,2,3,4,5)
plt.bar(y_pos,value,alpha=0.5)
plt.xticks(y_pos,objects)
plt.ylabel('population')
plt.title('Title')
plt.show()
(plt.barで棒グラフのy軸を設定し、plt.xticksで棒グラフのx軸の名前を設定しています。alphaは透明度を指定しています。)

ヒストグラムの書き方
ヒストグラムは見た目は棒グラフと似ているのですが性質は全く異なります。
data = np.random.randint(0,10,10)
plt.hist(data)

y軸はx軸の数字の数がいくつあるのかを表しています.
円グラフの書き方
円グラフを作りたいときにはplt.pieとしてあげます。
円グラフの中身はlabelsを用います。
まずはlabelsに中身を入れてあげます。
次にsizesにそれぞれの中身の割合を入れてあげましょう。
最後に色を指定してあげて後は定型文です。
labels = ['Python','C','Ruby','Java']
sizes = [10,20,30,40]
colors = ['red','green','yellow','blue']
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%',shadow=True)
plt.axis('equal')
plt.show()
autopctを用いることでパーセントを不動小数点まで表示することができます。
またplt.axis(‘equal’)を用いることで綺麗な円グラフに整形することができます。

散布図の書き方
それでは最後に散布図の書き方です。
x1 = np.random.randint(10,20,20)
x2 = np.random.randint(20,30,20)
y1 = np.random.randint(50,100,20)
y2 = np.random.randint(0,40,20)
plt.scatter(x1,y1)
plt.scatter(x2,y2)

このようにplt.scatter(x,y)とすれば対応する(x座標、y座標)の位置に点を打つことができます。
またこれは補足ですがグラフの範囲を指定することもできます。
plt.xlim(0,40)
plt.ylim(0,110)
このようにコードを打ち込んであげればx座標が0~40でy座標が0~110のグラフを出力してあげることができます。
Pythonの勉強方法【おまけ】
最後におまけとしてPythonの勉強方法を紹介します。
Pythonの基礎文法を勉強するにはUdemyというオンラインプログラミング学習プラットフォームがおすすめです。
具体的に言うとこちらの講座です。

この講座だけで基礎文法だけでなく実践的な応用スキルまで身につけることができます。
めちゃくちゃわかりやすい講座なので気になる方は是非みてみてください。
私が受けたPythonの講座の中では最も良かったですし、この講座を受けるだけでPythonの案件をこなすことができるレベルまでプログラミングが上達できると思います。
実際多くの人がWeb上で高評価をしていてUdemyのPython講座といえばこの講座と言われているほどです。
今回紹介したいろいろなグラフの書き方もより詳しくこの講座の中で述べられています。
また基礎が身について演習を行いたい方はこちらの動画がおすすめです。
その他の記事
おわりに

今回はPythonでグラフを書く方法についてx-yグラフ、棒グラフ、円グラフ、散布図を紹介しました。
matplotlibはデータ解析によく使われます。
データ解析を行いたい方はこれを機に覚えておきましょう。
こちらの記事も合わせてどうぞ。
コメント