国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

            手機(jī)站
            千鋒教育

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

            千鋒教育

            掃一掃進(jìn)入千鋒手機(jī)站

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

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

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

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

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

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

            ### 簡(jiǎn)介

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

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

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

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

            優(yōu)勢(shì):

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

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

            **畫(huà)板、畫(huà)紙的概念**

            image01

            我們知道畫(huà)畫(huà)時(shí)需要畫(huà)板和畫(huà)紙。在matplotlib中也是一個(gè)道理。

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

            ##### 畫(huà)板(figure)

            畫(huà)板存在的意義:

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

            創(chuàng)建一個(gè)畫(huà)板

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

            ##### 畫(huà)布(axes)

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

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

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

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

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

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

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

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

            matplotlib的基本要素:

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

            import matplotlib as mpl

            from matplotlib import pyplot as plt

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

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

            > 1. 定義一個(gè)figure對(duì)象
            > 2. 給figure對(duì)象添加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)在最后一個(gè)畫(huà)布上顯示了圖像,但是前面三個(gè)沒(méi)有顯示出來(lái),原因是此時(shí)的plt是有上下文的,所謂上下文就是在ax2和ax3之間使用plt.plot()進(jìn)行繪制則繪制的圖形是ax2這個(gè)畫(huà)紙的。即在哪個(gè)畫(huà)紙下面執(zhí)行畫(huà)圖就會(huì)繪制在誰(shuí)上面,前提是下一個(gè)畫(huà)布創(chuàng)建之前。所以如果在ax2和ax4上畫(huà)圖也可以改成如下代碼,

            ```
            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=(寬度,高度)進(jìn)行設(shè)定。

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

            ```
            # 省略導(dǎo)入,同上
            ...
            fig = plt.figure(figsize=(11,7)) # 畫(huà)板的大小 設(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添加一個(gè)Axes作為一subplot布局的一部分。

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

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

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

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

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

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

            **小結(jié):**

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

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

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

            #### artist操作

            **設(shè)置畫(huà)布標(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, # 顏色
            > )

            **開(kāi)啟和關(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], 刻度的位置會(huì)根據(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)題是中文的,因?yàn)橐胫С种形目梢蕴砑尤缦麓a在執(zhí)行之前:

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

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

            當(dāng)然上面的操作也可以在上下文上完成,結(jié)果是一樣的。只不過(guò)去掉了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)強(qiáng)師集結(jié),手把手帶你蛻變精英
            請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
            免費(fèi)領(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
            反欺詐中所用到的機(jī)器學(xué)習(xí)模型有哪些?

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

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

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

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

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

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

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

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

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

            2023-10-14 12:48:59
            快速通道