matplotlib和numpy庫一樣,都是python的第三方庫,numpy庫側重於資料的統計,計算,分析,詳細看這裡;
matplotlib庫則側重於圖形的繪製,將資料視覺化,支援許多種影象的繪製,具體看這裡。matplotlib庫支援的功能太多,一般情況只使用其中的pyplot子庫就已足夠,具體使用方法如下:
import matplotlib.pyplot as plt
上初中時,學的最簡單的圖形是什麼?沒錯,座標系,學習pyplot,第一步先學會畫乙個平面座標系,利用plot函式可以做到這一點
format_string:可控制曲線的顏色,風格,標記字元,下圖列出了常用的幾個,不用記憶,需要的時候查一下表就行:其中:plt.plot(x,y,format_string,
**kwargs)
這裡舉乙個plot的使用示例:
a=np.arrage(10)
plt.plot(a,a*
1.5,
'go-'
,a,a*
2.5,
'rx'
,a,a*
3.5,
'*',a,a*
4.5,
'b-.'
)
這條程式繪製出的圖形如下:
使用技巧:當繪製一條曲線時,可以省略x軸,影象將y軸資料(列表或陣列)的下標當作x軸,
但是當繪製多條曲線時,不允許x軸的省略
僅僅有影象是不夠的,這個圖象表示了什麼,它的x,y軸代表什麼含義?我們需要用注釋來表明影象的意義,pyplot中提供了許多文字顯示函式,常用的有以下幾種:
那這些函式怎麼用呢?前三者用法相同,這裡舉乙個例子
a=np.arange(0,
5,0.5)
plt.plot(a,a**2,
'r--'
)plt.xlabel(
'xlabel'
,fontsize=
15,color=
'green'
)plt.ylabel(
'ylabel'
,fontsize=
15,color=
'yellow'
)plt.title(
'title $y=coss(2\pi x)$'
,fontsize=25)
plt.text(2,
1,r'$\mu=100$'
,fontsize=15)
plt.grid(
true
)plt.show(
)
其中,由兩個$包括起來的部分是latex格式語句,這裡不贅述;
text函式中,前兩個引數分別表示文字的橫縱座標
除這些外,表中還提到了annotate函式,使用方法如下:
plt.annotate(s,xy=arrow_crd,xytexte=text_crd,arrowprops=
dict
)
這些引數中:
pyplot預設情況下,不支援中文的標註,這可讓英文渣大為頭疼,接下來我們學習:如何讓它支援中文注釋。
想讓pyplot支援中文注釋,需要用到rcparams這個函式,它可以指定中文的字型,字型風格(正常,斜體),以及字型大小,使用的示例如下:
import matplotlib
matplotlib.rcparams[
'font.family']=
'simhei'
matplotlib.rcparams[
'fontsize']=
20
以上**中,simhei代表黑體,在寫過這條**後,就可以在x,y軸等地方新增中文的注釋,常用的字型有如下幾種:
此外,rcparams包含以下這些屬性:
在以上的方法中,使用rcparams可以設定全域性的字型,但如果只想改變某個部分的字型呢?這時就需要用到fontproperties屬性。
舉例:
a=np.arange(
0.0,
5.0,
0.02
)plt.xlabel(
'這裡是橫軸'
,fontproperties=
'simhei'
,fontsize=20)
ply.ylabel(
'這裡是縱軸',fontperoerties=
'simhei'
,fontsize=20)
plt.plot(a,a**2)
plt.show
常常,我們會想在一張紙上畫許多個互不關聯的影象,這些影象有的占用了左半邊,有時由占用了一整行,pyplot中也可以做到這種效果----subplot2grid()
subplot2grid函式,首先將畫圖的區域分成多個網格,利用對不同的網格選擇,合併,便達到圖中的效果,和excel中的合併單元格是同樣的原理。
例如:
plt.subplot2grid((3
,3),
(1,0
),colspan=
2,rowspan=
2)
gridspec函式是位於matplotlib中gridspec子庫中的乙個函式,它的使用原理同上,但在劃分網格後,不需要每次重新劃分,直接選
中便可使用,舉例如下:
機器學習筆 常用python庫
python下有很多關於機器學習的庫,最常用的組合有以下四個 numpy 主要用來做一些科 算,主要是矩陣的運算。numpy為python帶來了真正的多維陣列功能,並且提供了豐富的函式庫處理這些陣列。它將常用的數學函式都進行陣列化,使得這些數學函式能夠直接對陣列進行操作,將本來需要在python級別...
android actionbar的學習筆記
我主要學習了actionbar的 1.如何顯示和關閉 2.如何在actionbar中顯示自定義的view 3.如何顯示隱藏的和直接顯示的menu item 1.如何顯示 2.如何得到actionbar?actionbar有兩種,一種是android系統自帶的,一種是support包中的actionb...
python matplotlib中的一些引數問題
import numpy as np import matplotlib.pyplot as plt 生成x軸上的資料 從 1到1,總共有50個點 x np.linspace 1 1,50 定義乙個線性方程 y1 3 x 定義乙個二次方程 y2 x 3 設定x軸的取值範圍為 2到2 plt.xlim...