- x軸和y軸 axis 水平和垂直的軸線 - x軸和y軸刻度 tick 刻度標示座標軸的分隔,包括最小刻度和最大刻度 - x軸和y軸刻度標籤 tick label 表示特定座標軸的值 - 繪圖區域(座標系) axes 實際繪圖的區域 - 座標系標題 title 實際繪圖的區域 - 軸標籤 xlabel ylabel 實際繪圖的區域
import numpy as np import pandas as pd import matplotlib.pyplot as plt from pandas import Series,DataFrame ## 在jupyter 環境使用 %matplotlib inline x=[1,2,3,4,5] y=[2,4,6,8,10] # 繪製直線圖 plt.plot(x,y)
# 繪製拋物線 # linspace再 正π~負π生成10個數 x = np.linspace(-np.pi,np.pi,num=10) y = x**2 plt.plot(x,y)
# 繪製正弦曲線圖 x = x # 使用sin函數 y = np.sin(x) plt.plot(x,y)
# 連續調用屢次plot函數 plt.plot(x,y) plt.plot(x-1,y+2)
# 也能夠在一個plot函數中傳入多對X,Y值,在一個圖中繪製多個曲線 plt.plot(x,y,x+1,y-1)
# - a=plt.subplot(row,col,loc) 建立曲線圖 # - a.plot(x,y) 繪製曲線圖 # subplot(x y z)能夠繪製多個子圖 : xy表示多大平面圖,z表示哪一個位置 ax1 = plt.subplot(2,2,1) ax1.plot(x,y) ax2 = plt.subplot(222) ax2.plot(x+1,y-2) ax3 = plt.subplot(223) ax3.plot(x+3,y-1) ax4 = plt.subplot(224) ax4.plot(x**2,y-2)
#### axis方法:設置x,y軸刻度值的範圍 # plt.axis([xmin,xmax,ymin,ymax]) plt.plot(x,y) plt.axis([-6,6,-2,2])
# plt.axis('off') # 關閉座標軸 以下圖: plt.plot(x,y) plt.axis('off')
# 設置畫布比例:plt.figure(figsize=(a,b)) # a:x刻度比例 # b:y刻度比例 (2:1)表示x刻度顯示爲y刻度顯示的2倍 plt.figure(figsize=(16,8)) plt.plot(x,y)
# - s 標籤內容 # - color 標籤顏色 # - fontsize 字體大小 # - rotation 旋轉角度 # - plt的xlabel方法和ylabel方法 title方法 plt.plot(x,y) plt.xlabel('haha') plt.ylabel('hehe') plt.title('heihei')
#### legend方法 # 兩種傳參方法: - 分別在plot函數中增長label參數,再調用plt.legend()方法顯示 - 直接在legend方法中傳入字符串列表
plt.plot(x,y,label='temp') plt.plot(x-1,y+3,label='dist') plt.legend()
### - loc參數 # - loc參數用於設置圖例標籤的位置,通常在legend函數內 # - matplotlib已經預約義好幾種數字表示的位置
plt.plot(x,y,label='temp') plt.plot(x-1,y+3,label='dist') plt.legend(loc=3)
字符串 | 數值 | 字符串 | 數值 |
---|---|---|---|
best | 0 | center left | 6 |
upper right | 1 | center right | 7 |
upper left | 2 | lower center | 8 |
lower left | 3 | upper center | 9 |
lower right | 4 | center | 10 |
right | 5 |
- ncol參數
ncol控制圖例中有幾列,在legend中設置ncolpython
plt.plot(x,y,label='temp') plt.plot(x-1,y+3,label='dist') plt.legend(loc=3,ncol=2)
### 使用figure對象的savefig函數來保存圖片 fig = plt.figure()---必須放置在繪圖操做以前 figure.savefig的參數選項 - filename 含有文件路徑的字符串或Python的文件型對象。圖像格式由文件擴展名推斷得出,例如,.pdf推斷出PDF,.png推斷出PNG (「png」、「pdf」、「svg」、「ps」、「eps」……) - dpi 圖像分辨率(每英寸點數),默認爲100 - facecolor ,打開保存圖片查看 圖像的背景色,默認爲「w」(白色)
fig = plt.figure() plt.plot(x,y,label='temp') plt.plot(x-1,y+3,label='dist') plt.legend(loc=3,ncol=2) fig.savefig('./123.png',dpi=300)
### plot語句中支持除X,Y之外的參數,以字符串形式存在,來控制顏色、線型、點型等要素,語法形式爲: plt.plot(X, Y, 'format', ...)
### 顏色 參數color或c plt.plot(x,y,c='red',alpha=0.5,ls='steps',lw=3)
##### 顏色值的方式 # - 別名 - color='r' # - 合法的HTML顏色名 - color = 'red'
顏色 | 別名 | HTML顏色名 | 顏色 | 別名 | HTML顏色名 |
---|---|---|---|---|---|
藍色 | b | blue | 綠色 | g | green |
紅色 | r | red | 黃色 | y | yellow |
青色 | c | cyan | 黑色 | k | black |
洋紅色 | m | magenta | 白色 | w | white |
HTML十六進制字符串dom
color = '#eeefff'
svg
歸一化到[0, 1]的RGB元組函數
color = (0.3, 0.3, 0.4)
字體
透明度spa
alpha參數
3d
參數linestyle或ls
code
線條風格 | 描述 | 線條風格 | 描述 |
---|---|---|---|
'-' | 實線 | ':' | 虛線 |
'--' | 破折線 | 'steps' | 階梯線 |
'-.' | 點劃線 | 'None' / ',' | 什麼都不畫 |
linewidth或lw參數
orm
標記 | 描述 | 標記 | 描述 |
---|---|---|---|
's' | 正方形 | 'p' | 五邊形 |
'h' | 六邊形1 | 'H' | 六邊形2 |
'8' | 八邊形 |
標記 | 描述 | 標記 | 描述 |
---|---|---|---|
'.' | 點 | 'x' | X |
'*' | 星號 | '+' | 加號 |
',' | 像素 |
標記 | 描述 | 標記 | 描述 |
---|---|---|---|
'o' | 圓圈 | 'D' | 菱形 |
'd' | 小菱形 | '','None',' ',None | 無 |
標記 | 描述 | 標記 | 描述 |
---|---|---|---|
'1' | 一角朝下的三腳架 | '3' | 一角朝左的三腳架 |
'2' | 一角朝上的三腳架 | '4' | 一角朝右的三腳架 |
plt.plot(x,y,marker='2')
# 繪製線 plt.plot(x1,y1,x2,y2) # 網格線 plt.grid(True) axes.grid(color,ls,lw,alpha) # 獲取座標系 plt.subplot(n1,n2,n3) # 座標軸標籤 plt.xlabel() plt.ylabel() # 座標系標題 plt.title() # 圖例 plt.legend([names],ncol=2,loc=1) plt.plot(label='name') # 線風格 -- -. : None step # 圖片保存 figure.savefig() # 點的設置 marker markersize markerfacecolor markeredgecolor\width # 座標軸刻度 plt.xticks(刻度列表,刻度標籤列表) plt.yticks() # axes.set_xticks(刻度列表) axes.set_xticklabels(刻度標籤列表)
### - 是一個特殊的柱狀圖,又叫作密度圖。 【直方圖的參數只有一個x!!!不像條形圖須要傳入x,y】 # plt.hist()的參數 - bins 直方圖的柱數,可選項,默認爲10 - color 指定直方圖的顏色。能夠是單一顏色值或顏色的序列。若是指定了多個數據集合,例如DataFrame對象,顏色序列將會設置爲相同的順序。若是未指定,將會使用一個默認的線條顏色 - orientation 經過設置orientation爲horizontal建立水平直方圖。默認值爲vertical
data = [1,2,3,3,4,2,5] plt.hist(data,bins=10)
### 返回值 : 1: 直方圖向量,是否歸一化由參數normed設定 2: 返回各個bin的區間範圍 3: 返回每一個bin裏面包含的數據,是一個list
## 參數:第一個參數是索引。第二個參數是數據值。第三個參數是條形的寬度 #【條形圖有兩個參數x,y】 - width 縱向設置條形寬度 - height 橫向設置條形高度 # 使用到的函數 bar()、barh()
x = [1,2,3,4,5] y = [2,4,6,8,10] # 豎向柱狀圖 plt.bar(x,y)
# 橫向柱狀圖 plt.barh(x,y)
【餅圖也只有一個參數x】 # pie() 餅圖適合展現各部分佔整體的比例,條形圖適合比較各部分的大小 普通各部分佔滿餅圖
plt.pie([1,3,5])
# 普通未佔滿餅圖:小數/比例 plt.pie([0.2,0.3,0.4])
## labels參數設置每一塊的標籤; - labeldistance參數設置標籤距離圓心的距離(比例值) - autopct參數設置比例值小數保留位(%.3f%%); - pctdistance參數設置比例值文字距離圓心的距離 - explode參數設置每一塊頂點距圓心的長度(比例值,列表); - colors參數設置每一塊的顏色(列表); - shadow參數爲布爾值,設置是否繪製陰影 - startangle參數設置餅圖起始角度
arr=[11,22,31,15] plt.pie(arr,labels=['a','b','c','d']) # labels外層展現參數
#labeldistance參數設置標籤距離圓心的距離(比例值) arr=[11,22,31,15] plt.pie(arr,labels=['a','b','c','d'],labeldistance=0.3)
#autopct參數設置比例值小數保留位(%.3f%%); arr=[11,22,31,15] plt.pie(arr,labels=['a','b','c','d'],labeldistance=0.3,autopct='%.5f%%')
##explode參數設置每一塊頂點距圓心的長度(比例值,列表); arr=[11,22,31,15] plt.pie(arr,labels=['a','b','c','d'],labeldistance=0.3,shadow=True,explode=[0.2,0.3,0.2,0.4])
%m.nf m 佔位 n 小數點後保留幾位 f 是以float格式輸出
# 【散點圖須要兩個參數x,y,但此時x不是表示x軸的刻度,而是每一個點的橫座標!】 plt.scatter(x,y)
# plt.scatter(x,y,marker='d',c="rbgy") 設置不一樣的散點顏色 x = np.random.random(size=(30,)) y = np.random.random(size=(30,)) plt.scatter(x,y)