亚洲 国产精品 日韩-亚洲 激情-亚洲 欧美 91-亚洲 欧美 成人日韩-青青青草视频在线观看-青青青草影院

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 數(shù)據(jù)分析之繪圖和可視化

數(shù)據(jù)分析之繪圖和可視化

來源:千鋒教育
發(fā)布人:wjy
時間: 2022-08-12 15:04:55 1660287895

hi~~~ 我是宋宋,今天給大家分享的是數(shù)據(jù)分析的可視化部分。

### 簡介

信息可視化(也叫繪圖)是數(shù)據(jù)分析中最重要的?作之?。它可能是探索過程的?部分,例如,幫助我們找出異常值、必要的數(shù)據(jù)轉(zhuǎn)換、得出有關(guān)模型的idea等。

其實做 Python的數(shù)據(jù)可視化,可以使用的庫分別是 Matplotlib 、Seaborn 、Bokeh、 Plotly 、Pyecharts等。

Matplotlib是Python數(shù)據(jù)可視化庫中的泰斗,它已經(jīng)成為python中公認(rèn)的數(shù)據(jù)可視化工具,通過Matplotlib可以很方便的設(shè)計和輸出二維以及三維的數(shù)據(jù),其提供了常規(guī)的笛卡爾坐標(biāo),極坐標(biāo),球坐標(biāo),三維坐標(biāo)等,其輸出的圖片質(zhì)量也達到了科技論文中的印刷質(zhì)量,日常的基本繪圖更不在話下。

Matplotlib 是一個 Python 的 2D繪圖庫,通過 Matplotlib,開發(fā)者可以僅需要幾行代碼,便可以生成繪圖,直方圖,功率譜,條形圖,錯誤圖,散點圖等。

優(yōu)勢:

> (1)能將數(shù)據(jù)進行可視化,更直觀的呈現(xiàn)
>
> (2)使數(shù)據(jù)更加客觀,更具說服力

在分享Matplotlib之前我們先了解以下幾個概念:

**畫板、畫紙的概念**

image01

我們知道畫畫時需要畫板和畫紙。在matplotlib中也是一個道理。

圖形在畫板(figure)中繪制完成,而畫板又由不同的畫布(紙)(axes)構(gòu)成,具體的圖形構(gòu)建時要指明畫板和畫布,否則默認(rèn)一畫板一畫布。

##### 畫板(figure)

畫板存在的意義:

- 控制圖像的比例情況(大小)
- 保存圖像

創(chuàng)建一個畫板

> plt.figure(
> num=None, 用于指定在畫板上,放幾個畫布
> figsize=None, (寬度, 高度)
> dpi=None, 圖像的分辨率
> facecolor=None, 背景色
> edgecolor=None, 邊界顏色
> frameon=True,
> FigureClass,
> clear=False,
> **kwargs,
> linewidth
> )

##### 畫布(axes)

一個坐標(biāo)系就是一個畫布,就是一個圖,一個畫板上可以有多個坐標(biāo)系

畫布的創(chuàng)建
畫布要創(chuàng)建在畫板上
fig.add_subplot(nrows, ncols, index)
nrows將畫板分為幾行,ncols將畫板分為幾列,index選取使用哪一個被劃分的畫板

> add_subplot(nrows, ncols, index, \**kwargs)
> add_subplot(pos, **kwargs)
> add_subplot(ax)
> add_subplot()

畫板與畫布的關(guān)系

屏幕快照 2021-08-24 下午5.10.29

matplotlib圖標(biāo)的基本組成

- 畫板figure 呈現(xiàn)出來的坐標(biāo)系
- 繪圖區(qū)域axes 【畫布】
- x軸和y軸的水平垂直軸線 以及 軸標(biāo)簽
- 軸線上的刻度 以及 對應(yīng)的刻度標(biāo)簽
- 畫布標(biāo)題
- 圖例

### 如何使用繪圖包Matplotlib?

matplotlib的基本要素:

```
# 導(dǎo)入pyplot和matplotlib模塊

import matplotlib as mpl

from matplotlib import pyplot as plt

%matplotlib inline # 繪制的圖片在當(dāng)前文檔顯示
```

默認(rèn)一畫板一畫紙,我們也可以自己定義畫板figure和畫布axes,添加順序是:

> 1. 定義一個figure對象
> 2. 給figure對象添加subplot

比如:

```python
import numpy as np
import matplotlib as mpl
from matplotlib import pyplot as plt

%matplotlib inline

fig = plt.figure()
# 指定切分區(qū)域的位置
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(2,2,3)
ax4 = fig.add_subplot(2,2,4)

random_arr = np.random.randn(100)
plt.plot(random_arr)

plt.show()
```

屏幕快照 2021-08-24 下午4.22.55

大家可以發(fā)現(xiàn)在最后一個畫布上顯示了圖像,但是前面三個沒有顯示出來,原因是此時的plt是有上下文的,所謂上下文就是在ax2和ax3之間使用plt.plot()進行繪制則繪制的圖形是ax2這個畫紙的。即在哪個畫紙下面執(zhí)行畫圖就會繪制在誰上面,前提是下一個畫布創(chuàng)建之前。所以如果在ax2和ax4上畫圖也可以改成如下代碼,

```
import numpy as np
import matplotlib as mpl
from matplotlib import pyplot as plt

%matplotlib inline

fig = plt.figure()
random_arr = np.random.randn(100)
# 指定切分區(qū)域的位置
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
plt.plot(random_arr)
ax3 = fig.add_subplot(2,2,3)
ax4 = fig.add_subplot(2,2,4)
plt.plot(random_arr)
plt.show()
```

屏幕快照 2021-08-24 下午4.28.28

注意: 如果繪圖區(qū)域顯示的圖像比較小,可以結(jié)合參數(shù)figsize=(寬度,高度)進行設(shè)定。

當(dāng)然也可以使用畫布axes對象進行繪制,比如下面代碼:

```
# 省略導(dǎo)入,同上
...
fig = plt.figure(figsize=(11,7)) # 畫板的大小 設(shè)置的橫向和縱向的值 單位是英寸 可以表示水平和垂直的縮放
random_arr = np.random.randn(100)
# 指定切分區(qū)域的位置
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(2,2,3)
ax4 = fig.add_subplot(2,2,4)
random_arr = np.random.randn(100)
ax1.plot(random_arr)
random_arr = np.random.randn(100)
ax2.plot(random_arr)
random_arr = np.random.randn(100)
ax3.plot(random_arr)
random_arr = np.random.randn(100)
ax4.plot(random_arr)
plt.show()
```

屏幕快照 2021-08-24 下午5.08.10

其中的add_subplot(self, *args, **kwargs) 表示向figure添加一個Axes作為一subplot布局的一部分。

add_subplot()方法本質(zhì)上做了兩件事:

1. 將整個Figure區(qū)域劃分為Row * col的網(wǎng)格;
2. 在網(wǎng)格的指定格子(索引號)中創(chuàng)建一個Axes

add_subplot()網(wǎng)格有兩種定義方式:

第一種是用3個參數(shù),分別代表網(wǎng)格的,行數(shù) nrows, 列數(shù) ncols, 索引號index。它們都是位置參數(shù)。這種是第1種調(diào)用簽名形式。

第二種是用一個3位數(shù)的整數(shù),如,224,第一個2表示2行,第二個2表示2列,第3位上的4表示第4個格子。這就是第二種調(diào)用簽名形式,pos為224,也是位置參數(shù)。
比如說創(chuàng)建一個2行2列的布局,繪圖在第四個axes,注意:2*2的網(wǎng)格是虛擬的,起一個定位的作用

屏幕快照 2021-08-24 下午5.14.04

**小結(jié):**

1. figure就是一個矩形容器(頂層容器),可以再劃分為小方格,每個方格就是一個subplot,即子繪圖區(qū)。
2. 一個圖形中可以有多個subplot,這些subplot又可以被看作一個整體,有一些屬性如整個subplot的位置、內(nèi)部(單個subplot之間)的間距等,這些屬性保存在figure.SubplotParams類中。可以通過Figure的subplotpars參數(shù)來修改這些屬性。
3. 子圖使用了subplot,而不是subfigure。fiugre僅是一個矩形容器,而plot則是具體的圖形元素了,所以subplot會自動創(chuàng)建一個Axes,這個Axes是屬于特定subplot的。

### 畫布的設(shè)置

創(chuàng)建好了畫布之后,我們就可以對畫布進行設(shè)置,比如添加標(biāo)題、坐標(biāo)軸、設(shè)置坐標(biāo)軸刻度、圖例等

#### artist操作

**設(shè)置畫布標(biāo)題**

> axes.set_title(label)
> label,
> fontdict=None,
> loc=None,
> pad=None,
> *,
> y=None,
> **kwargs,
> )
> 可以設(shè)置標(biāo)題的位置,樣式

**設(shè)置坐標(biāo)軸標(biāo)簽**

> axes.set_xlabel()
> axes.set_ylabel(
> ylabel, # 坐標(biāo)軸標(biāo)簽名
> fontdict=None, # 字體大小
> labelpad=None,
> *,
> loc=None, # 位置{'left', 'center', 'right'}
> **kwargs,
>
> rotation, # 旋轉(zhuǎn)
> color, # 顏色
> )

**開啟和關(guān)閉坐標(biāo)軸**

> axes.set_axis_on()
> axes.set_axis_off()

**設(shè)置坐標(biāo)軸范圍【相當(dāng)于只看一部分】**

> axes.axis([xmin, xmax, ymin, ymax])
>
> axes.set_xlim(min,max)
> axes.set_ylim(min,max)

**設(shè)置坐標(biāo)軸刻度**

> axes.set_xticks([float, float])
> axes.set_yticks(
> ticks=[float, float], 刻度的位置會根據(jù)數(shù)據(jù)的范圍以及數(shù)據(jù)本身設(shè)置刻度的位置
> labels=['',''],
> rotation,
> fontsize,
> color
> )

**設(shè)置網(wǎng)格**

> axes.grid(b=None, which='major', axis='both', **kwargs)
> axes.grid(True
> )

**設(shè)置圖例**
在繪圖操作中設(shè)置label參數(shù),再調(diào)用圖例顯示方法

在圖例方法中傳入字符串列表

> axes.legend(handles, labels, loc)
> ** loc:圖例位置
> ** labels:圖例標(biāo)簽名稱
> ** handles:

> =============== =============
> Location String Location Code
> =============== =============
> '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
> =============== =============

案例:

```

fig = plt.figure(figsize=(10,5))
x = np.linspace(0, np.pi * 2, 100)
y = np.sin(x)
ax1 = fig.add_subplot(1,2,1)
ax1.set_title('正余弦波', fontsize=20, fontweight='bold', horizontalalignment='left', verticalalignment='bottom') # 默認(rèn)是不支持漢字的
ax1.plot(x, y)
ax1.plot(x, np.cos(x))
ax1.legend(['sin(x)', 'cos(x)'],loc='upper right')
ax2 = fig.add_subplot(1,2,2)

random_arr = np.random.randn(100)
ax2.plot(random_arr)
ax2.set_title('標(biāo)準(zhǔn)正態(tài)分布')
```

設(shè)置的標(biāo)題是中文的,因為要想支持中文可以添加如下代碼在執(zhí)行之前:

```
plt.rcParams['font.sans-serif'] = ['Simhei']
# 中文情況下 負(fù)號顯示會有異常 所以還需要設(shè)置負(fù)號的操作
# 'axes.unicode_minus'
plt.rcParams['axes.unicode_minus'] = False
# 設(shè)置的是點的標(biāo)記 默認(rèn)是就是None 不顯示
plt.rcParams['lines.marker'] = 'None'
```

屏幕快照 2021-08-24 下午5.42.10

當(dāng)然上面的操作也可以在上下文上完成,結(jié)果是一樣的。只不過去掉了set_title()中的set_直接使用plt繪制。其他屬性也是一樣的。即:

```
fig = plt.figure(figsize=(10,5))
x = np.linspace(0, np.pi * 2, 100)
y = np.sin(x)
ax1 = fig.add_subplot(1,2,1)
plt.title('正余弦波', fontsize=20, fontweight='bold', horizontalalignment='left', verticalalignment='bottom') # 默認(rèn)是不支持漢字的
plt.plot(x, y)
plt.plot(x, np.cos(x))
plt.legend(['sin(x)', 'cos(x)'],loc='upper right')
ax2 = fig.add_subplot(1,2,2)

random_arr = np.random.randn(100)
plt.plot(random_arr)
plt.title('標(biāo)準(zhǔn)正態(tài)分布')
```

 

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
反欺詐中所用到的機器學(xué)習(xí)模型有哪些?

一、邏輯回歸模型邏輯回歸是一種常用的分類模型,特別適合處理二分類問題。在反欺詐中,邏輯回歸可以用來預(yù)測一筆交易是否是欺詐。二、決策樹模...詳情>>

2023-10-14 14:09:29
軟件開發(fā)管理流程中會出現(xiàn)哪些問題?

一、需求不清需求不明確是導(dǎo)致項目失敗的主要原因之一。如果需求沒有清晰定義,開發(fā)人員可能會開發(fā)出不符合用戶期望的產(chǎn)品。二、通信不足溝通問...詳情>>

2023-10-14 13:43:21
軟件定制開發(fā)中的敏捷開發(fā)是什么?

軟件定制開發(fā)中的敏捷開發(fā)是什么軟件定制開發(fā)中的敏捷開發(fā),從宏觀上看,是一個高度關(guān)注人員交互,持續(xù)開發(fā)與交付,接受需求變更并適應(yīng)環(huán)境變化...詳情>>

2023-10-14 13:24:57
什么是PlatformIo?

PlatformIO是什么PlatformIO是一個全面的物聯(lián)網(wǎng)開發(fā)平臺,它為眾多硬件平臺和開發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡化了開發(fā)過程,并能兼容各種...詳情>>

2023-10-14 12:55:06
云快照與自動備份有什么區(qū)別?

1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時間點后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動備份的主要目標(biāo)...詳情>>

2023-10-14 12:48:59
熟女CHACHACHA性少妇| 日产2021免费一二三四| 日产精品1区2区3区| 西西人体444www大胆无码视频| 亚洲麻豆AV成本人无码网站| 中文字幕人妻丝袜美腿乱| 成年视频APP短视频在线观看 | 麻花传媒MD0076沈芯语在线| 人妻少妇AV中文字幕乱码| 无码中文精品专区一区二区| 一二三四免费观看在线视频| 别揉我奶头~嗯~啊~动态图视频 | MM1313亚洲精品无码| 国产精品揄拍100视频| 久久躁夜夜躁天天躁| 日本一线和三线的区别| 亚洲国产成人极品综合| Chinese老女人老熟妇69| 国产精品亚洲专区无码蜜芽| 老熟女DHXⅩXXX88老妇女| 日日澡夜夜澡人人高潮| 亚洲精品一线二线三线无人区| chinese老女人老熟妇hd| 国产肉体XXXX裸体137大胆| 久久久久亚洲精品成人网| 搡老女人老妇女老熟女偷拍| 亚洲欧洲老熟女AV| 成年免费视频黄网站ZXGK| 精品人妻AV一区二区三区| 日本老熟妇乱子伦精品| 亚洲日产中文字幕无码| 成熟丰满熟妇高潮XXXXX| 久久99精品久久久久免费| 日韩精品极品视频在线观看免费| 亚洲欧美偷拍另类A∨| 成人午夜福利电影天堂| 久久精品国产亚洲AV麻豆王友容| 日产中文字幕在线精品一区| 亚洲性啪啪无码AV天堂| 国产AV免费一区二区三区| 美女裸体无遮拦国产兔费网站| 未满十八岁的请自动离开| 中文字幕一区二区三区日韩精品| 国产精品V片在线观看不卡 | 黑料不打烊隐藏入口GITHUB| 人妻一区二区三区Av毛片 | 亚欧成人无码AV在线播放| CAOPOREN个人免费公开| 精品久久人妻AV中文字幕| 色欲色香天天天综合网站免费| 一本一久本久A久久精品综合 | 久久中文骚妇内射| 五月激情婷婷丁香综合基地| JAPANESEXXXⅩHD乱| 久久99国产精品尤物| 婷婷久久综合九色综合绿巨人| 18禁美女裸体爆乳无遮挡动图| 国产中年熟女高潮大集合| 日本一本2017国产| 在线天堂おっさんとわたしWWW| 国产乱理伦片在线观看夜| 人人妻人人妻人人片AV| 影音先锋男人资源站| 国内精品免费视频自在线拍| 日日噜噜夜夜狠狠视频 | 男人进入女人下部图| 亚洲国产成人精品青青草原| 国产GAYSEXCHINA男外| 欧美日韩综合精品一区二区| 亚洲综合一区国产精品| 国产一在线精品一区在线观看| 日韩欧美人妻一区二区三区| 7777久久亚洲中文字幕蜜桃| 久久99国产精品成人| 西西大胆无码视频免费| 东北妇女精品BBWBBW| 欧美精品久久天天躁| 一个吃我奶头两个舔我下面| 很嫩很紧直喷白浆在线| 无码AV蜜臀AⅤ色欲在线观看| 波多野结衣AV黑人在线播放| 内射白嫩少妇超碰| 野花视频在线观看免费高清版| 国产亚洲精品拍拍拍拍拍| 熟妇人妻AV无码一区二区三区| HUGEBOOBS熟妇大波霸| 蜜桃AV无码国产丝袜在线观看| 亚洲人成电影在线观看天堂色| 国产一卡2卡3卡4卡网站免费| 他扒开内裤把舌头进去会有影响吗 | 西西人体大胆啪啪私拍色约约| 顶级大但人文艺术视频 音乐| 青梅被从小摸到大H补课1视频| 主人地下室惩罚骚奴的法律后果| 久久精品香蕉绿巨人登场| 亚洲AV色香蕉一区二区三区夜夜嗨| 动漫精品视频一区二区三区 | 锕锕锕锕锕锕锕好疼JK漫画| 男人天堂2018| 中文字幕乱近親相姦| 浪荡人妻共32部黑人大凶器电影 | 把腿张开让老子臊烂你的动漫视频| 免费国产成人高清在线观看网站| 一本久道视频无线视频| 久久精品国产99国产精品导航| 亚洲丰满熟妇浓毛XXXX| 国偷自产一区二视频观看| 无码专区—VA亚洲V天堂| 国产精品成熟老女人视频| 婷婷色丁香五月激情综合| 国产99在线 | 欧美| 丝袜护士无码视频一区二区三区| 成人无码网WWW在线观看| 日日噜噜夜夜爽爽| 丰满人妻妇伦又伦精品App抖| 色爱无码AⅤ综合区| 东京热无码AV男人的天堂| 色婷婷成人AV电影| 国产69精品久久久久观看软件| 少妇熟女视频一区二区三区| 国产98色在线 | 日韩| 同学故意把我的校服当抹布用作文 | 啊灬啊灬啊灬快好深| 人妻丰满熟妇AⅤ无码无码区免费| おとまりせくす中文在线| 日本大胆欧美人术艺术| 大J8黑人BBW巨大888| 爽爽AV浪潮AV一区二区| 国产精品视频一区二区三区四| 无套内谢孕妇毛片免费看看| 国产午夜精品一区二区三区| 亚洲AV永久无码精品表情包| 九九久久精品国产免费看小说| 野花视频在线观看| 年轻的小婊孑4中文字幕电影| S货叫大点声C烂你的SB视频| 日本乱偷人妻中文字幕久久| 疯狂做受XXXX高潮欧美日本| 天天做天天爱天天综合网2021| 国产欧美日韩视频免费| 亚洲精品国产综合久久久久紧| 久久久久久午夜成人影院| 2018人人看人人爽| 日本理论片YY4800免费| 国产福利无码一区在线| 亚洲AV永久无码老湿机漫画 | 一区二区三区鲁丝不卡麻豆| 男吃奶玩乳尖高潮视频午夜| 锕锕锕锕锕锕好污网站大全| 天码AV高清毛片在线看_| 国产真实乱对白精彩久久| 亚洲中文字幕在线无码一区二区 | 97久久精品午夜一区二区| 日本动漫瀑乳H动漫啪啪免费| 公和我做好爽添厨房在线观看| 性欧美ⅩXXXX极品少妇| 久久久久AV无码免费网| 97SE亚洲国产综合自在线不卡 | 亚洲AV片不卡无码潮| 久久久久国色AV免费观看| 99久久婷婷国产综合亚洲| 色一情一乱一伦麻豆| 国产亚洲大尺度无码无码专线 | 欧美老熟妇乱XXXXX| 给老子叫 老子喜欢听| 亚洲AV无码成人网站WWW| 久久综合九色欧美综合狠狠 | 16ⅤIDE0SEX性欧| 日日噜噜夜夜狠狠久久无码区| 国精产品999国精产品官网| 曰韩少妇内射免费播放| 强奷漂亮雪白丰满少妇| 国产精品一卡二卡三卡四卡| 夜夜嗨AV熟妇人妻涩爱AV| 日本裸体丰满少妇自慰喷奶水| 国产又爽又粗又猛的视频| 中文精品无码中文字幕无码专区| 日韩精品一区二区亚洲AV| 好姐妹高清在线韩国电影观看| 找老女人泻火对白自拍| 色欲色AV免费观看| 久久久久国产精品嫩草影院| 被下春药爽翻天按摩的人妻| 亚洲AV无码AV在线播放| 女人夜夜春高潮爽A∨片| 国产精品内射后入合集| 中文在线А√在线| 天天夜碰日日摸日日澡性色AV| 久久青草精品38国产| 成人无码WWW免费视频| 亚洲精品亚洲人成在线| 人妻夜夜爽天天爽三区麻豆AV网| 好大的奶好爽浪蹄子| WWW爱射网站AVCOM| 亚洲AV永久无码精品一区| 欧洲另类二三四区| 黑人高潮拔也拔不出来| 被伴郎的内捧猛烈进出H| 亚洲欧洲美洲无码精品VA| 色噜噜狠狠色综合久色AⅤ网|