Python – matplotlib教學, 製作圖表

入門篇

今天要介紹的是如何使用Python中的library(matplotlib)來製作圖表。

pip和非官方的library

在使用Python的時候我們會下載許多的library,但是其實這些library有一部分是非官方人士所製作的library,通常會稱他們為Third party library

Third party library所製作的library都會在PyPI這個伺服器之中公開,有興趣的話可以去看一下。另外,只要安裝Python之後就可以使用一個叫做pip的command,只要使用pip就可以從PyPI中安中Third party所製作的library。

使用pip安裝matplotlib

在PyPI裡有一個叫做matplotlib的library可以用來製作圖表以及單純繪圖,我們可以透過下面的命令來安裝他。

pip install matplotlib

如果想要確認已經安裝的library的話,可以利用下面的command。

pip freeze

製作圖表!

接著我們來試著使用看看matplotlib吧!

首先,我們先在編輯器中輸入下面的code。

import numpy as np
import matplotlib.pyplot as plt

# sin函數 data
x = np.linspace(-np.pi * 2, np.pi * 2, 200)
y = np.sin(x)

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)

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

接著就會出現下面的sin函數。

畫完了2D的圖之後我們也來試試3D的圖!

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.axes3d import Axes3D #繪製3D圖形時所用的library

#(x, y, z)座標
x = np.random.rand(30)
y = np.random.rand(30)
z = np.random.rand(30)

fig = plt.figure()
ax = Axes3D(fig)

#散佈圖
ax.scatter3D(x, y, z, c='red')

plt.show()

結果會像下面著樣出現3D的散佈圖。

如果想要更詳細了結matplotlib的話也可以去看看下面的文章,以及應用篇裡的matplotlib系列~

練習

在看完上面文章之後,如果想要練習使用matplotlib的話可以試試看繪製其他不同的圖形。剛剛我們上面練習了範圍是-2π~2π的sin函數,那我們這邊來試著製作範圍是-3π~3π的紅色的tan函數吧~

答案

import numpy as np
import matplotlib.pyplot as plt

# sin函數 data
x = np.linspace(-np.pi * 3, np.pi * 3, 200)
y = np.tan(x)

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)

ax.plot(x, y, c='red')
plt.show()

留言