国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 數據分析之繪制各種圖形

數據分析之繪制各種圖形

來源:千鋒教育
發布人:wjy
時間: 2022-08-12 15:12:00 1660288320

#### plot 函數

##### 1. 函數功能

通常用于繪制線圖。

##### 2.參數說明:

> plot([x], y, [fmt], data=None, **kwargs) # 單條線:
>
> plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs) # 多條線一起畫

- x:x軸上的數字

- y:y軸上的數字

- 可選參數[fmt] 是一個字符串來定義圖的基本屬性如:顏色(color),點型(marker),線型(linestyle),

具體形式 fmt = '[color][marker][line]'

- ls:linestyle 即折線的風格

- lw: linewidth 即折線線條的寬度

- color:線條的顏色

如果要使用顏色,常用的顏色簡寫(更多的顏色使用可以參照上篇文章):

| 簡寫 | 顏色 |
| :--: | :-----------: |
| 'b' | 藍色(blue) |
| 'g' | 綠色(green) |
| 'r' | 紅色(red) |
| 'c' | 青色(cyan) |
| 'm' | 洋紅(magenta) |
| 'y' | 黃色(yellow) |
| 'k' | 黑色(black) |
| 'w' | 白色(white) |

- label:標記圖形內容的標簽文本
- marker: 就是數據點的形狀,比如原點,三角形,加號等等

##### 3. 實例代碼

```python
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['Simhei']
# 中文情況下 負號顯示會有異常 所以還需要設置負號的操作
plt.rcParams['axes.unicode_minus'] = False

x = np.linspace(0.01, 12, 100) # 生成100個從0.01到12的均勻數值
y = np.cos(x) # 余弦函數

plt.plot(x,y,ls='-',color='r',lw=2,label='plot繪圖') # 設置繪圖屬性
plt.legend() # 設置顯示圖例
plt.show() # 顯示圖像
```

##### 4. 效果

截屏2021-09-14 上午11.14.42

### scatter()函數

##### 1. 函數功能

尋找變量之間的關系,用于繪制散點圖。

##### 2.參數說明:

> ```python
> scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, hold=None, data=None, **kwargs)
> ```

- x,y:array_like,shape(n,)
輸入數據
- s:標量或array_like,shape(n,),可選
大小以點數^ 2。默認是`rcParams ['lines.markersize'] ** 2`。
- c:顏色,順序或顏色順序,可選,默認:'b'
- marker:`?matplotlib.markers.MarkerStyle`,可選,默認值:'o'
- cmap:`?matplotlib.colors.Colormap`,可選,默認:無
一個`?matplotlib.colors.Colormap`實例或注冊名稱, `cmap`僅在`c`是浮點數組時使用。如果沒有, 默認為rc`image.cmap`。
- norm:`?matplotlib.colors.Normalize`,可選,默認:無
`?matplotlib.colors.Normalize`實例用于縮放亮度數據為0,1。`norm`只有在`c`是一個數組時才被使用。如果`None',則使用默認值:func:`normalize`。
- edgecolors :顏色或顏色順序,可選,默認值:無
如果無,則默認為'face', 如果'face',邊緣顏色將永遠是相同的臉色。如果它是'none',補丁邊界不會被畫下來。

##### 3.實例代碼

```python
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['Simhei']
# 中文情況下 負號顯示會有異常 所以還需要設置負號的操作
plt.rcParams['axes.unicode_minus'] = False

x = np.linspace(1, 20, 200)
y = np.random.randn(200)
plt.scatter(x,y,s=10,c='g',label='散點圖繪制') # x,y的數據規模必須要相同
plt.legend()
plt.show()
```

##### 4.效果

截屏2021-09-14 上午11.17.56

### xlim()和 ylim()函數

##### 1. 函數功能

在Python的matplotlib.pyplot中方法xlim和ylim的使用方法相同,分別用來設置x軸和y軸的顯示范圍。

##### 2.參數說明:

對x軸操作`plt.xlim(xmin,xmax)`,同理對y軸操作`plt.ylim(ymin,ymax)`

- xmin|ymin:x軸上的刻度最小值或者是 y 軸上的刻度最小值
- xmax|ymax:x軸上的刻度最大值或者是 y 軸上的刻度最大值

##### 3.實例代碼

```python
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['Simhei']
# 中文情況下 負號顯示會有異常 所以還需要設置負號的操作
plt.rcParams['axes.unicode_minus'] = False

x = np.linspace(1, 20, 100)
y = np.cos(x) # 余弦函數

plt.plot(x,y,ls='-',color='r',lw=2,label='plot繪圖') # 設置繪圖屬性
plt.legend() # 顯示圖例
# 設置x 和 y 軸的刻度
plt.xlim(5,15)
plt.ylim(0,1)
plt.show()
```

##### 4.效果對比

截屏2021-09-14 上午11.24.51

如果把x軸刻度調成與生成范圍一致(1~20),我們就會發現線條布滿了x軸范圍。

### xlabel()和 ylabel函數

##### 1. 函數功能

設置x軸或者y 軸的標簽文本

##### 2.參數說明:

> matplotlib.pyplot.ylabel(s, *args, **kwargs)
>
> matplotlib.pyplot.xlabel(s, *args, **kwargs)

設置坐標軸x軸文本標簽`xlabel(string)`
設置y軸文本標簽`ylabel(string)`

fontsize:數字或’small’,‘large’,‘medium’

verticalalignment:表示上下平移向figure與axis之間的中間線對齊,字母底端為‘top’‘top’, ‘bottom’, ‘center’,‘baseline’.

horizontalalignment:意思為左右平移向中間對齊.如’left’,若為xlabel則標識最左邊對齊figure的中垂線,若為ylabel則標識最左邊對齊figure的中橫線.取值可以是:‘center’, ‘right’, ‘left’

rotation: 意思為旋轉,取值有:‘vertical’,‘horizontal’

##### 3.實例代碼

```python
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['Simhei']
# 中文情況下 負號顯示會有異常 所以還需要設置負號的操作
plt.rcParams['axes.unicode_minus'] = False

x = np.linspace(1, 20, 100)
y = np.cos(x)

plt.plot(x,y,ls='-',color='r',lw=2,label='plot繪圖')
plt.legend() # 顯示圖例
# 設置x和y軸的標簽
plt.xlabel('x軸標簽') # 設置x軸文本標簽
plt.ylabel('y軸標簽') # 設置y軸文本標簽
plt.show()
```

 

##### 4.效果

截屏2021-09-14 上午11.29.59

### grid()函數

##### 1. 函數功能

繪制刻度線的網格線

##### 2.參數說明

> grid(b=None, which=‘major’, axis=‘both’, **kwargs)

b: 表示布爾類型的參數是否顯示網格線,如果提供了參數,則認為需要顯示網格,b=True

which: {‘major’, ‘minor’, ‘both’}, optional。 The grid lines to apply the changes on.
可選參數,取值為 ‘major’, ‘minor’, ‘both’,需要修改的網格線

axis:{‘both’, ‘x’, ‘y’}, optional The axis to apply the changes on.
可選參數,需要修改的坐標軸
**kwargs:Define the line properties of the grid, e.g.:grid(color=‘r’, linestyle=’-’, linewidth=2)
定義網格線的屬性,如:顏色,風格、粗細等

##### 3.實例代碼

```
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['Simhei']
# 中文情況下 負號顯示會有異常 所以還需要設置負號的操作
plt.rcParams['axes.unicode_minus'] = False

x = np.linspace(1, 20, 200) # 從1到20均勻取200個數
y = np.random.randn(200) # 在標準正態分布中隨機取200個數
plt.scatter(x,y,s=10,c='b',label='散點圖繪制') # x,y的數據規模必須要相同
plt.legend()
# 設置網格線
plt.grid(axis='both',linestyle=":",color='g')
plt.show()
```

##### 4.效果

截屏2021-09-14 上午11.55.59

### axvspan()和函數

##### 1.函數功能

允許我們添加一個跨坐標軸的水平帶(矩形)和跨坐標軸的垂直帶(矩形).主要為用戶提供一定的參照.

##### 2.參數說明:

> axvspan(xmin, xmax, ymin=0, ymax=1, **kwargs)
>
> axhspan(xmin, xmax, ymin=0, ymax=1, **kwargs)

- xmin:參考區域的其實位置
- xmax:參考區域的終止位置
- facecolor:參考區域的填充顏色
- alpha:參考區域填充顏色的透明度

##### 3. 實例代碼

```python
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['Simhei']
# 中文情況下 負號顯示會有異常 所以還需要設置負號的操作
plt.rcParams['axes.unicode_minus'] = False

x = np.linspace(1, 20, 200) # 從1到20均勻取200個數
y = np.random.randn(200) # 在標準正態分布中隨機取200個數
plt.scatter(x,y,s=10,c='r',label='散點圖繪制') # x,y的數據規模必須要相同
plt.legend()
# 設置參考區域
plt.axvspan(5, 10, facecolor='b', alpha=0.2)
plt.axhspan(-1, 1, facecolor='g', alpha=0.2)
plt.show()
```

##### 4.效果

截屏2021-09-14 上午11.59.15

### annotate()函數

##### 1.函數功能

annotate用于在圖形上給數據添加文本注解,而且支持帶箭頭的劃線工具,方便我們在合適的位置添加描述信息。

##### 2.參數說明

> annotate(s, xy, \*args, **kwargs)*

- **s:**注釋文本的內容

- **xy:**被注釋的坐標點,二維元組形如(x,y)

- **xytext:**注釋文本的坐標點,也是二維元組,默認與xy相同

- weight:注釋的文本的粗細風格

- color:注釋文本的顏色

- **xycoords:**被注釋點的坐標系屬性,允許輸入的值如下

- | 屬性值 | 含義 |
| :---------------- | :----------------------------------------------------------- |
| 'figure points' | 以繪圖區左下角為參考,單位是點數 |
| 'figure pixels' | 以繪圖區左下角為參考,單位是像素數 |
| 'figure fraction' | 以繪圖區左下角為參考,單位是百分比 |
| 'axes points' | 以子繪圖區左下角為參考,單位是點數(一個figure可以有多個axex,默認為1個) |
| 'axes pixels' | 以子繪圖區左下角為參考,單位是像素數 |
| 'axes fraction' | 以子繪圖區左下角為參考,單位是百分比 |
| 'data' | 以被注釋的坐標點xy為參考 (默認值) |
| 'polar' | *不使用本地數據坐標系,使用極坐標系* |

- **textcoords** :注釋文本的坐標系屬性,默認與xycoords屬性值相同,也可設為不同的值。

- **arrowprops:**箭頭的樣式,dict(字典)型數據,如果該屬性非空,則會在注釋文本和被注釋點之間畫一個箭頭。如果不設置`'arrowstyle'` 關鍵字,則允許包含以下關鍵字:

| 關鍵字 | 說明 |
| :--------- | :-------------------------------------------------- |
| width | 箭頭的寬度(單位是點) |
| headwidth | 箭頭頭部的寬度(點) |
| headlength | 箭頭頭部的長度(點) |
| shrink | 箭頭兩端收縮的百分比(占總長) |
| ? | 任何 `matplotlib.patches.FancyArrowPatch中的關鍵字` |

##### 3. 實例代碼

```python
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['Simhei']
# 中文情況下 負號顯示會有異常 所以還需要設置負號的操作
plt.rcParams['axes.unicode_minus'] = False

x = np.linspace(1, 20, 100) # 生成100個從0.01到12的均勻數值
y = np.cos(x) # 余弦函數
plt.plot(x,y,ls='-',color='r',lw=2,label='plot繪圖') # 設置繪圖屬性
plt.legend()
plt.annotate('maxvalue', # 圖形注釋的文本
xy=(np.pi*2,1.0), # 被注釋的圖形內容坐標
xytext=(8,0.75), # 注釋文本位置坐標
weight='bold', # 注釋文本字體粗細
color='c', # 注釋文本字體顏色,洋紅色
arrowprops=dict(arrowstyle='->',connectionstyle='arc3',color='c')) # 箭頭的屬性
plt.show()
```

##### 4. 效果

截屏2021-09-14 下午12.06.49

### text()函數

##### 1.函數功能

通過函數方式,向axes對象添加text文本對象,確切的說是向 axes的(x,y)位置添加文本,返回一個text實例。

##### 2.參數說明

> matplotlib.pyplot.text(x, y, s, fontdict=None, withdash=False, **kwargs)

- x:注釋位置的橫坐標

- y:注釋位置的縱坐標

- s:注釋的文本內容

- kwargs:可以設置如下

fontsize設置字體大小,默認12,可選參數 [‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’,‘x-large’, ‘xx-large’]

fontweight設置字體粗細,可選參數 [‘light’, ‘normal’, ‘medium’, ‘semibold’, ‘bold’, ‘heavy’, ‘black’]

fontstyle設置字體類型,可選參數[ ‘normal’ | ‘italic’ | ‘oblique’ ],italic斜體,oblique傾斜

verticalalignment設置水平對齊方式 ,可選參數 : ‘center’ , ‘top’ , ‘bottom’ ,‘baseline’

horizontalalignment設置垂直對齊方式,可選參數:left,right,center

rotation(旋轉角度)可選參數為:vertical,horizontal 也可以為數字

alpha透明度,參數值0至1之間

backgroundcolor標題背景顏色

bbox給標題增加外框 ,常用參數如下:

boxstyle方框外形
facecolor(簡寫fc)背景顏色
edgecolor(簡寫ec)邊框線條顏色

##### 3. 實例代碼

```python
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['Simhei']
# 中文情況下 負號顯示會有異常 所以還需要設置負號的操作
plt.rcParams['axes.unicode_minus'] = False

x = np.linspace(1, 20, 100)
y = np.tan(x)
plt.plot(x,y,ls='-.',lw=1,c='#aa88ff',label='text使用繪圖')
plt.legend()
plt.text(2,-200,'y=tan(x)',weight='bold',color='r')
plt.show()
```

##### 4.效果

截屏2021-09-14 下午12.16.12

### title()函數

##### 1.函數功能

用來設置圖表的標題。

2.參數說明

> matplotlib.pyplot.title(label, fontdict=None, loc='center', pad=None, **kwargs)

- **label:**str, 標題文本
- **fontdict:** dict, 一個字典用來控制標題的字體樣式,默認值如下:

```bash
{'fontsize': rcParams['axes.titlesize'],
'fontweight' : rcParams['axes.titleweight'],
'verticalalignment': 'baseline',
'horizontalalignment': loc}
```

- **loc:** str, 標題水平樣式可為{'center', 'left', 'right'},分別表示居中,水平居左和居右,默認為水平居中。
- **pad:** float, 表示標題離圖表頂部的距離,默認為None.
- **kwargs:** 可以設置一些其他的文本屬性。

##### 3. 實例代碼

```python
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['Simhei']
# 中文情況下 負號顯示會有異常 所以還需要設置負號的操作
plt.rcParams['axes.unicode_minus'] = False

x = np.linspace(1, 10, 100)
y = np.cos(x)
plt.plot(x,y,ls='-.',lw=1,c='#aa88ff',label='title使用繪圖')
plt.legend()
plt.title('cos(x)繪圖')
plt.show()
```

##### 4. 效果

截屏2021-09-14 下午12.19.59

### legend()函數

##### 1.函數功能

顯示圖表圖例,并設置圖例位置

##### 2.參數說明

> matplotlib.pyplot.legend(*args, **kwargs)

- loc : 圖例所有figure位置

| 位置字符串 | 含義 | 位置代碼 |
| :------------: | :--------------: | :------: |
| 'best' | 自動尋找最佳位置 | 0 |
| 'upper right' | 右上 | 1 |
| 'upper left' | 左上 | 2 |
| 'lower left' | 左下 | 3 |
| 'lower right' | 右下 | 4 |
| 'right' | 右 | 5 |
| 'center left' | 左中 | 6 |
| 'center right' | 右中 | 7 |
| 'lower center' | 中下 | 8 |
| 'upper center' | 中上 | 9 |
| 'center' | 正中 | 10 |

- prop : 字體參數

- fontsize: 字體大小

- markerscale : 圖例標記與原始標記的相對大小

- markerfirst:如果為True,則圖例標記位于圖例標簽的左側

- numpoints:為線條圖圖例條目創建的標記點數

- scatterpoints:為散點圖圖例條目創建的標記點數

- scatteryoffsets:為散點圖圖例條目創建的標記的垂直偏移量

- frameon:控制是否應在圖例周圍繪制框架

- fancybox:控制是否應在構成圖例背景的FancyBboxPatch周圍啟用圓邊

- shadow:控制是否在圖例后面畫一個陰影

- framealpha:控制圖例框架的 Alpha 透明度

##### 3. 實例代碼

```dart
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.1,10,100)
y = np.sin(x)
z = np.cos(x)
plt.plot(x,y,ls='-',lw=1,c='m',label='legend繪圖1')
plt.plot(x,z,ls='-.',lw=1,c='g',label='legend繪圖2')
plt.legend(loc='lower right')
plt.show()
```

##### 4. 效果

截屏2021-09-14 下午12.25.40

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT