ホーム >  Python > Anaconda >  【matplotlib】Pythonで方程式の折線グラフを描く【高校数学】

投稿日:   |  最終更新日:

【matplotlib】Pythonで方程式の折線グラフを描く【高校数学】

AnacondaJupyter NotebookpydataPython数学

Pythonを使って手軽にグラグを描画します。matplotlibパッケージのpyplotモジュールを使います。

matplotlibとは?

Pythonのグラフ描画の標準的なライブラリです。matplotlibを使用する際、NumPyモジュールなどを頻繁に併用します。NumPyのインポートも行いましょう。

NumPyとは?

多次元配列の操作、線型代数計算を中心とする機能を提供します。計算のコードがC言語やFortranで実装されているため、高速に動作します。pandasやSciPyなど、多くのPyDataパッケージがNumPyの機能を利用します。

【科学計算】機械学習に便利なNumPyの基本!その1【Python】

準備

①VSCodeをインストールします。

MacOSでVisual Studio Codeをインストール

②VSCodeにPython実行環境を作ります。

【MacOS】PythonをインストールしてVSCodeの実行環境をつくる【Python】

③Anacondaをインストールします。

【MacOS】Anaconda3をインストールする【Python3】

④MacPCにインストールしたVSCODEからAnaconda3を利用できる状態にします。

【MacOS】Visual Studio Code(VSCode)にAnacondaの仮想環境を指定【MacOS】

環境

PC MacBook Air (Retina, 13-inch, 2019)
CPU 1.6 GHz デュアルコアIntel Core i5
メモリ 16 GB 2133 MHz LPDDR3
OS Catalina 10.15.7
Visual Studio Code 1.50.0
Conda 4.9.2
matplotlib 3.4.2
numpy 1.20.3


体重測定をグラフにする

ユウタ君は、毎日体重を測定しています。ある一週間の記録が以下の通りです。

1 2 3 4 5 6 7
体重(Kg) 64.5 64.8 63.6 64 63.5 63.2 63.1

この測定結果を折線グラフにします。コードは以下のようになります。

import matplotlib.pyplot as plt

x = [1,2,3,4,5,6,7]
y = [64.5,64.8,63.6,64,63.5,63.2,63.1]

plt.plot(x, y)
plt.grid(color='0.8')
plt.show()

実行結果

解説

import matplotlib.pyplot as plt

matplotlibモジュールをインポートします。

x = [1,2,3,4,5,6,7]
y = [64.5,64.8,63.6,64,63.5,63.2,63.1]

グラフのx軸、y軸をリストに代入します。

plt.plot(x, y)

折線グラフ描画の命令です。「x座標」「y座標」の順に引数を与えます。

plt.grid(color='0.8')

グラフにグリッドを表示します。省略できます。


方程式をグラフにする

方程式って?

方程式とは、文字(xなど)を含んだ等式です。

例えば、「ユウタ君は、30個のキャンディを3つずつ子供達に配ったら6個余りました。子供は何人でしょう?」といった場合、子供の人数をxとすると、

\[
3x+6=30
\]

この等式が成立するためのxを求めることを、方程式を解くといいます。求めたxの値を、方程式の解といいます。

子供の人数を求めるために立てた方程式

\[
3x+6=30
\]

の右辺が0になるように整理すると、

\[
3x+24=0
\]

0をyに置き換えると関数になります。つまり、関数とは入力値が決まると出力値が一つ決まる式です。

\[
y=3x+24
\]

方程式はグラフになる

xに1〜10の値を値を入れると、以下のようなコードと、そのグラフができます。

import matplotlib.pyplot as plt

#データ
x = list(range(1,11))
y = []
for i in range(10):
    y.append(3 * x[i] - 24)

#グラフ
plt.plot(x, y)
plt.grid(color='0.8')
plt.show()

実行結果

解説

x = list(range(1,11))

変数xに、1〜10のlistを生成します。

y = []

変数yに、空のリストを生成します。

for i in range(10):

ループ文。

y.append(3 * x[i] - 24)

3X-24を計算し、yにリストを追加します。


Numpyの配列でもっと簡略化できる

3X-24を計算し、yにリストを追加します。

import matplotlib.pyplot as plt
import numpy as np

#データ
x = np.arange(-1.0,1.01,0.01)
y = x * 3

#グラフ
plt.plot(x, y)
plt.grid(color='0.8')
plt.show()

実行結果

解説

import numpy as np

numpyをインポートします。

x = np.arange(-1.0,1.01,0.01)

配列xに-1〜1までの値を代入します。0.01は間隔です。

y = x * 3

配列xの各値に対して3を掛けます。その結果を配列yに生成します。


次回

連立方程式をPythonで解きます。

【matplotlib】Pythonで連立方程式を解く【高校数学】


トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター、フロントエンドエンジニア 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 20

最近の投稿
人気記事
カテゴリー
広告