0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

第3回 グラフを描いてみよう

Last updated at Posted at 2024-12-23

グラフの描画

今回はpythonでグラフを描画してみます。だんだん楽しくなってきましたね。

まずは何も考えずに以下のコードを書き写してください。

import matplotlib.pyplot as plt

x = [0, 2, 4]
y = [0, 4, 8]

plt.plot(x, y)
plt.show()

こんなグラフが出力されましたか?
image.png
そうです。y=2xのグラフです。

コードの解説をしていきます。

import matplotlib.pyplot as plt

はとりあえず、グラフを書くため道具を取ってきたようなものと思ってください。
少し書いておくと、グラフをかくために必要なプログラミングを、先駆者が用意しておいてくれているので、それを利用させていただくためのコードです。今回は「matplotlib.pyplotをimportした」ことになります。
こういう誰でも使える便利プログラミングをライブラリと呼びます。pythonの利点として、このライブラリの豊富さがあります。as pltと付けたので、このライブラリを使うときにはplt.~と書きます。

x = [0, 2, 4]
y = [0, 4, 8]

は前回やりましたね。xというlistを作成して、中身に0, 2, 4が入っています。yも同様です。

plt.plot(x, y)

で実際にプロットしています。plt.plot()でライブラリの中のplotという機能を使えます。今回はxとyをプロットしているので、(0,0), (2,4), (4,8)がプロットされます。間は直線で補間してくれていますね。こういう気が利くのもpythonのいいところです。

ここまではPC内部での出来事なので、

plt.show()

で画面に表示します。画面に表示する代わりにPCへ保存することもできますが、今回は表示でいきましょう。

ちょっと変更

同じものが得られますが、以下のように書き換えてみます。

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0, 5, 0.1)
y = 2 * x

plt.plot(x, y)
plt.show()

今回はnumpyというライブラリをimportしていますね。このライブラリを用いて

x = np.arange(0, 5, 0.1)

を実行しています。これは、0~5の範囲で数字を0.1刻みで生成するという意味です。これで先ほどよりも、細かく座標を取れていますね。
yはいちいち手で打つのも面倒なので、計算してもらいましょう。

yを変えて実験してみてください。
$y=sin(x)$のグラフも簡単に描いてもらえます。

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0, 2*np.pi, 0.1)
y = np.sin(x)

plt.plot(x, y)
plt.show()

np.piで円周率を使えます。sinカーブもnp.sin()を使うだけ。便利ですね。

グラフの設定

グラフのタイトル、軸ラベル、プロット範囲、凡例など自由に設定できます。学部時代、実験レポート用のグラフをexcelで1枚1枚調整していたのが馬鹿馬鹿しく感じられると思います。

import matplotlib.pyplot as plt
import numpy as np

plt.xlim(0, 2*np.pi)
plt.ylim(-1.1, 1.1)
plt.xlabel('x')
plt.ylabel('y')
plt.title('y=sin()')

x = np.arange(0, 2*np.pi, 0.1)
y1 = np.sin(x)
y2 = np.sin(2*x)

plt.plot(x, y1, label='y=sin(x)')
plt.plot(x, y2, label='y=sin(2x)')
plt.legend(loc='upper right')
plt.show()

image.png

こんな調整をしたいと思ったら、その都度調べれば良いです。
chatGPTも精度良く答えてくれるので、ぜひ聞いてみましょう。

例題

好きなグラフを描いてみましょう


いかがでしたか?
プログラミングの便利さがだいぶ実感できたのではないでしょうか。
次回はいよいよ、ボールの投げ上げをシミュレーションしてみます。


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?