這其實就是把 y 座標為 1, 37, 25, 68 的點, 補上 x 座標 0, 1, 2, 3 連起來的折線圖。這是 Python 最基本的畫圖法。
如果 x 座標也自己給的話, 也就是比較完整的畫圖方式是
plt.plot(X, Y)
其中 X 是點的 x 座標; Y 是點的 y 座標。
比如說, 最常見的是, 我們畫一個函數, 就會決定 x 的範圍、要有多少個點, 再把我們要畫的函數畫出來。比方說我們想畫:
x 的範圍是 -5 到 5, 取 200 個點。
In [7]:
x=np.linspace(-5,5,200)y=np.sinc(x)
In [8]:
plt.plot(x,y)
Out[8]:
[]
我們來試試加上中文。
In [9]:
plt.title('畫個可愛的 sinc(x) 函數')plt.plot(x,y)
Out[9]:
[]
Python 其實是以耍寶見長的程式語言, 我們來耍寶一下。
In [10]:
plt.xkcd()
Out[10]:
In [11]:
plt.plot(x,y)
Out[11]:
[]
你當然可以一直這麼耍寶下去, 但如果不要 xkcd 風了, 可以這麼作。
In [12]:
mpl.rcParams.update(saved_state)
/usr/lib/python3.7/_collections_abc.py:841: MatplotlibDeprecationWarning: The datapath rcparam was deprecated in Matplotlib 3.2.1 and will be removed two minor releases later. self[key] = other[key]/usr/lib/python3.7/_collections_abc.py:841: MatplotlibDeprecationWarning: The savefig.frameon rcparam was deprecated in Matplotlib 3.1 and will be removed in 3.3. self[key] = other[key]/usr/lib/python3.7/_collections_abc.py:841: MatplotlibDeprecationWarning: The text.latex.unicode rcparam was deprecated in Matplotlib 3.0 and will be removed in 3.2. self[key] = other[key]/usr/lib/python3.7/_collections_abc.py:841: MatplotlibDeprecationWarning: The verbose.fileo rcparam was deprecated in Matplotlib 3.1 and will be removed in 3.3. self[key] = other[key]/usr/lib/python3.7/_collections_abc.py:841: MatplotlibDeprecationWarning: The verbose.level rcparam was deprecated in Matplotlib 3.1 and will be removed in 3.3. self[key] = other[key]