1
Help us understand the problem. What are the problem?

posted at

updated at

【Pythonで作図】忙しい人のための Matplotlib【初心者向け】

✨Python って作図がカンタン!✨

「Pythonで作図」…。ネットにはたくさん記事があるけど、どれもややこしくて難しいですよね。
そんな方々のために、手っ取り早く分かりやすい「Python 3分クッキング」をやっていこうと思います!

0. 完成目標

これを作ります。

完成コード
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-100,100,0.1)
y = np.sin(x)/x
plt.plot(x,y)
plt.show()

結果
20220430test01.png

では、始めます。

1. これをコピペ

【必須】おまじない(計算と作図に必要な道具を準備しろ!という命令)
import numpy as np
import matplotlib.pyplot as plt

2. 作図したい関数を入力

2.1 xの範囲(定義域)を指定

$a \le x \le b$ の変域ならば、

定義域の指定方法
x = np.arange(a, b, 0.1)

と書きます。

今回は $-100 \le x \le 100$ の範囲を描きたいので、

今回の定義域
x = np.arange(-100,100,0.1)

としました。

この $0.1$ は、「$0.1$ 刻みでプロットしますよ」という意味。
大根をぶつ切りしたければ $1$ でもいいし、もっとなめらかに切りたければ $0.01$ にして大根おろしを作ってもよい。

注意(お忙ぎの方は飛ばしてください)
np.arange(a,b,c) は、厳密には 初項 $a$ , 公差 $c$ の等差数列の集まりで、末項は $b$ の手前で終わります。
つまり、厳密には $ a \le x < b$ の範囲で作図してるということ。($a \le x \; \, ``\le" \, b$ ではない!)
例えば $ 0 \le x \le 5 $ を $1$ ずつプロットしたいとき、np.arange(0,5,1) って書いちゃうとグラフがヘンになっちゃうので、np.arange(0,6,1) って書こうねってオハナシ。

2.2 y = f(x) を指定

今回は、

y = \frac{\sin x}{x}

のグラフを描こうと思います。Pythonでこのグラフは、

y = f(x) の指定
y = np.sin(x)/x

と入力できます。

※ エラーが出る場合は、たぶん $x=0$ で割るな!って怒られてるんだと思います。そんな時はテストする関数を例えば $y=\sin x$ とか $y=x^2$ とかに変えてみたり、定義域に $0$ が含まれないようにしてみてください。

註)Pythonの演算

など、ググれば多数でてきます。

3. おまじない再び

【必須】おまじない(とっとと作図しろ!という命令)
plt.plot(x,y)
plt.show()

これで実行します。

結果
20220430test01.png

やったね!♡。(⋈◍>◡<◍)。♡

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
1
Help us understand the problem. What are the problem?