版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第1章
數(shù)據(jù)可視化與matplotlib
·
數(shù)據(jù)可視化概述·常見的數(shù)據(jù)可視化庫·初識matplotlib
·使用matplotlib繪制第一個圖表了解掌握熟悉掌握
學(xué)習(xí)目標了解什么是數(shù)據(jù)可視化,常見數(shù)據(jù)可視化庫,matplotlib
12熟悉數(shù)據(jù)可視化方式,選擇正確的可視化圖表掌握安裝matplotlib
34掌握使用matplotlib
繪制第一個圖表目錄頁1.1數(shù)據(jù)可視化概述1.2常見的數(shù)據(jù)可視化庫1.3初識matplotlib1.4使用matplotlib繪制圖表目錄頁1.1數(shù)據(jù)可視化概述1.2常見的數(shù)據(jù)可視化庫1.3初識matplotlib1.4使用matplotlib繪制圖表1.1.1什么是數(shù)據(jù)可視化數(shù)據(jù)可視化有著非常久遠的歷史,最早可以追溯至10世紀,至今已經(jīng)應(yīng)用和發(fā)展了數(shù)百年。10世紀18世紀20-21世紀19世紀14-17世紀什么是數(shù)據(jù)可視化?數(shù)據(jù)可視化旨在借助圖形化的手段,將一組數(shù)據(jù)以圖形的形式表示,并利用數(shù)據(jù)分析和開發(fā)工具發(fā)現(xiàn)其中未知信息的處理過程。1.1.1什么是數(shù)據(jù)可視化可視化其實是一個抽象的過程,它可以簡單地理解為將一個不易描述的事物形成一個可感知畫面的過程,也就是從數(shù)據(jù)空間到圖形空間的映射。
1.1.1什么是數(shù)據(jù)可視化數(shù)據(jù)可視化的過程無論原始數(shù)據(jù)被映射為哪種圖形數(shù)據(jù),最終要達到的目的只有一個,便是準確地、高效地、全面地傳遞信息,進而建立起數(shù)據(jù)間的關(guān)系,使人們發(fā)現(xiàn)數(shù)據(jù)間的規(guī)律和特征,并挖掘出有價值的信息,提高數(shù)據(jù)溝通的效率。1.1.1什么是數(shù)據(jù)可視化假設(shè)某公司員工在整理全年KPI報告時準備了表格和圖形這兩種形式的數(shù)據(jù)。
表格可以幫助公司領(lǐng)導(dǎo)快速地知道各季度的具體數(shù)值,但無法快速地了解各季度之間的比較情況。圖形可以幫助公司高層準確地了解各季度之間的比較情況,方便對公司下一年的工作做出有效地決策。1.1.1什么是數(shù)據(jù)可視化1.1.1什么是數(shù)據(jù)可視化總綜上所述,數(shù)據(jù)可視化是數(shù)據(jù)分析工作中重要的一環(huán),對數(shù)據(jù)潛在價值的挖掘有著深遠的影響。隨著數(shù)據(jù)可視化平臺的拓展、表現(xiàn)形式的變化,以及實時動態(tài)效果、用戶交互使用等功能的增加,數(shù)據(jù)可視化的內(nèi)涵正在不斷擴大,相信數(shù)據(jù)可視化的應(yīng)用領(lǐng)域會越來越廣泛。結(jié)折線圖是將數(shù)據(jù)標注成點,并通過直線將這些點按某種順序連接而成的圖表,它以折線的傾斜程度來形象地反映事物沿某一維度的變化趨勢,能夠清晰地展示數(shù)據(jù)增減的趨勢、速率、規(guī)律及峰值等特征。折線圖1.1.2常見的數(shù)據(jù)可視化方式??谑?月23—29日的最高氣溫和最低氣溫的變化情況
柱形圖是由一系列寬度相等的縱向矩形條組成的圖表,它使用矩形條的高度表示數(shù)值,以此反映不同分類數(shù)據(jù)之間的差異。1.1.2常見的數(shù)據(jù)可視化方式柱形圖以此反映不同分類數(shù)據(jù)之間的差異。
2015—2018年阿里巴巴公司的營業(yè)收入情況條形圖是橫置的柱形圖,由一系列高度相等、長短不一的橫向矩形條組成。1.1.2常見的數(shù)據(jù)可視化方式條形圖2019年上半年快手用戶對各類商品廣告的關(guān)注率堆積圖可分為堆積面積圖、堆積柱形圖和堆積條形圖。其中堆積面積圖是由若干條折線與折線或水平坐標軸之間的填充區(qū)域組成的圖表,用于強調(diào)每個部分變化的趨勢;堆積柱形圖和堆積條形圖是由若干個以顏色或線條填充、高度不一的縱向矩形條或橫向矩形條堆疊而成的圖表,主要用于反映各構(gòu)成部分在總體中的比重。1.1.2常見的數(shù)據(jù)可視化方式堆積圖2017年全球及各地區(qū)一次性能源的消費結(jié)構(gòu)某物流公司2014年各運輸方式的運費情況運費(萬元)直方圖又稱質(zhì)量分布圖,是由一系列高低不等的縱向矩形條或線段組成的圖表,用于反映數(shù)據(jù)的分布和波動情況。1.1.2常見的數(shù)據(jù)可視化方式直方圖某廠商對100個抽樣產(chǎn)品的質(zhì)量級別評定情況柱形圖與直方圖的區(qū)別包括以下兩點:柱形圖用于展示離散型數(shù)據(jù)的分布,而直方圖用于展示連續(xù)型數(shù)據(jù)的分布;柱形圖的各矩形條之間具有固定的間隙,而直方圖的各矩形條之間沒有任何間隙。1.1.2常見的數(shù)據(jù)可視化方式箱形圖又稱盒須圖、箱線圖,是一種利用數(shù)據(jù)中的5個統(tǒng)計量——最小值、下四分位數(shù)、中位數(shù)、上四分位數(shù)和最大值-——描述數(shù)據(jù)的圖表,主要用于反映一組或多組數(shù)據(jù)的對稱性、分布程度等信息,因形狀如箱子而得名。1.1.2常見的數(shù)據(jù)可視化方式箱形圖不同廠家所產(chǎn)地毯的耐用性箱形圖中每個圖形的結(jié)構(gòu)是相同的,包括一個矩形箱體、上下兩條豎線、上下兩條橫線。箱體代表數(shù)據(jù)的集中范圍;上下兩條豎線分別代表數(shù)據(jù)向上和向下的延伸范圍;上下兩條橫線分別代表最大值和最小值;圓圈代表異常值(也稱為離群值)。1.1.2常見的數(shù)據(jù)可視化方式餅圖是由若干個面積大小不一、顏色不同的扇形組成的圓形圖表,它使用圓表示數(shù)據(jù)的總量,組成圓的每個扇形表示數(shù)據(jù)中各項占總量的比例大小,主要用于顯示數(shù)據(jù)中各項大小與各項總和的比例。1.1.2常見的數(shù)據(jù)可視化方式餅圖2018年全國居民的人均消費支出情況圓環(huán)圖也能反映各項與整體之間的關(guān)系,但它使用圓環(huán)表示整體,組成圓環(huán)的每個楔形表示各項占整體的比例大小,外形像空心的圓餅。1.1.2常見的數(shù)據(jù)可視化方式散點圖又稱X-Y圖,是由若干個數(shù)據(jù)點組成的圖表,主要用于判斷兩變量之間是否存在某種關(guān)聯(lián),或者總結(jié)數(shù)據(jù)點的分布模式。1.1.2常見的數(shù)據(jù)可視化方式散點圖股票回報率與基金回報率的投資分析情況散點圖中數(shù)據(jù)點的分布情況可以體現(xiàn)變量之間的相關(guān)性。
若所有的數(shù)據(jù)點在一條直線附近呈波動趨勢,說明變量之間是線性相關(guān)的。若數(shù)據(jù)點在曲線附近呈波動趨勢,說明變量之間是非線性相關(guān)的。若數(shù)據(jù)點沒有顯示任何關(guān)系,說明變量之間是不相關(guān)的。
1.1.2常見的數(shù)據(jù)可視化方式氣泡圖是散點圖的變形,它是一種能夠展示多變量關(guān)系的圖表。氣泡圖一般使用兩個變量標注氣泡在坐標系中的位置,使用第3個變量標注氣泡的面積,適用于分類數(shù)據(jù)對比、多變量相關(guān)性等情況。1.1.2常見的數(shù)據(jù)可視化方式氣泡圖第1梯隊和第2梯隊主流App用戶量與上線時間的分布情況誤差棒圖是使用誤差棒注明被測量數(shù)據(jù)的不確定度大小的圖表,用于表示測量數(shù)據(jù)中客觀存在的測量偏差。誤差棒是在表示測量值大小的方向上的一條線段,它以被測量數(shù)據(jù)的平均值為中點,線段長度的一半為不確定度。1.1.2常見的數(shù)據(jù)可視化方式誤差棒圖某城市上半年的降雨量雷達圖又稱蜘蛛網(wǎng)圖、星狀圖、極區(qū)圖,由一組坐標軸和多個等距同心圓或多邊形組成,是一種表現(xiàn)多維(4維以上)數(shù)據(jù)的圖表。1.1.2常見的數(shù)據(jù)可視化方式雷達圖某人通過霍蘭德職業(yè)興趣測試的結(jié)果統(tǒng)計地圖是一種以地圖為背景,使用各種線紋、色彩、幾何圖形或?qū)嵨镄蜗髽俗⒅笜藬?shù)值的大小及其在不同地理位置的分布狀況的圖表。1.1.2常見的數(shù)據(jù)可視化方式統(tǒng)計地圖2021年2月1日中國新型冠狀病毒肺炎疫情地圖3D圖表是一類在三維坐標系中呈現(xiàn)數(shù)據(jù)的圖表,常用的圖表包括3D散點圖、3D折線圖、3D曲面圖、3D直方圖、3D柱形圖等。1.1.2常見的數(shù)據(jù)可視化方式3D圖表豆粕期權(quán)隱含波動率數(shù)據(jù)通常包含4種關(guān)系:比較、分布、構(gòu)成和聯(lián)系。
比較比較關(guān)系主要關(guān)注數(shù)據(jù)中各類別或時間變化的情況。
分布分布關(guān)系主要關(guān)注不同數(shù)值范圍內(nèi)包含多少數(shù)據(jù)的情況。
構(gòu)成構(gòu)成關(guān)系主要關(guān)注各部分與整體占比的情況。聯(lián)系聯(lián)系關(guān)系主要關(guān)注兩個及兩個以上的變量之間關(guān)系的情況。1.1.3選擇正確的可視化圖表基于比較關(guān)系可選擇的圖表1.1.3選擇正確的可視化圖表非循環(huán)數(shù)據(jù)基于分布關(guān)系可選擇的圖表1.1.3選擇正確的可視化圖表基于構(gòu)成關(guān)系可選擇的圖表1.1.3選擇正確的可視化圖表基于聯(lián)系關(guān)系可選擇的圖表1.1.3選擇正確的可視化圖表目錄頁1.1數(shù)據(jù)可視化概述1.2常見的數(shù)據(jù)可視化庫1.3初識matplotlib1.4使用matplotlib繪制圖表Python作為數(shù)據(jù)分析的首選語言,它針對數(shù)據(jù)分析的每個環(huán)節(jié)都提供了很多庫。常見的數(shù)據(jù)可視化庫包括matplotlib、seaborn、ggplot、bokeh、pygal、pyecharts。1.2常見的數(shù)據(jù)可視化庫1.2常見的數(shù)據(jù)可視化庫matplotlib是眾多Python數(shù)據(jù)可視化庫的鼻祖,其設(shè)計風(fēng)格與20世紀80年代設(shè)計的商業(yè)化程序語言MATLAB十分接近,具有很多強大且復(fù)雜的可視化功能。matplotlib包含多種類型的API,可以采用多種方式繪制圖表并對圖表進行定制。1.2常見的數(shù)據(jù)可視化庫seaborn是基于matplotlib進行高級封裝的可視化庫,它支持交互式界面,使得繪制圖表的功能變得愈加容易,且圖表的色彩更具吸引力,可以畫出豐富多樣的統(tǒng)計圖表。ggplot是基于matplotlib并旨在以簡單方式提高matplotlib可視化感染力的庫,它采用疊加圖層的形式繪制圖形,例如先繪制坐標軸所在的圖層,再繪制點所在的圖層,最后繪制線所在的圖層,但其并不適用于個性化定制圖形。1.2常見的數(shù)據(jù)可視化庫bokeh是一個交互式的可視化庫,它支持使用Web瀏覽器展示,可使用快速簡單的方式將大型數(shù)據(jù)集轉(zhuǎn)換成高性能的、可交互的、結(jié)構(gòu)簡單的圖表。pygal是一個可縮放矢量圖表庫,用于生成可在瀏覽器中打開的SVG格式的圖表,這種圖表可以在不同比例的屏幕上自動縮放,方便用戶交互。pyecharts是一個生成EchartsEnterpriseCharts,商業(yè)產(chǎn)品圖表)圖表的庫,它生成的Echarts圖表憑借良好的交互性、精巧的設(shè)計得到了眾多開發(fā)者的認可。目錄頁1.1數(shù)據(jù)可視化概述1.2常見的數(shù)據(jù)可視化庫1.3初識matplotlib1.4使用matplotlib繪制圖表matplotlib支持numpy、pandas的數(shù)據(jù)結(jié)構(gòu),具有繪制豐富的圖表、定制圖表元素或樣式的功能。matplotlib還可用于繪制一些3D圖表
。matplotlib是一個由JohnD.Hunter等人員開發(fā)的、主要用于繪制2D圖表的Python庫。1.3.1matplotlib概述matplotlib官網(wǎng)提供了三種API:pyplotAPI、object-orientedAPI、pylabAPI
。pyplotAPIpyplotAPI是使用pyplot模塊開發(fā)的接口,該接口封裝了一系列與MATLAB命令同名的函數(shù),使用這些函數(shù)可以像使用MATLAB命令一樣快速地繪制圖表。
object-orientedAPIobject-orientedAPI是面向?qū)ο蟮慕涌?,該接口封裝了一系列對應(yīng)圖表元素的類,只有創(chuàng)建這些類的對象并按照隸屬關(guān)系組合到一起才能完成一次完整的繪圖。pylabAPIpylabAPI是使用pylab模塊開發(fā)的接口,它最初是為了模仿MATLAB的工作方式而設(shè)計的,包括pyplot、numpy模塊及一些其它附加功能,適用于Python交互環(huán)境中。1.3.1matplotlib概述1.3.1matplotlib概述matplotlib官方不建議使用pylabAPI進行開發(fā),并在最新的版本中棄用了pylabAPI。用戶在使用時可以根據(jù)自身的實際情況進行選擇,若只是需要快速地繪制圖表,可以選擇pyplotAPI進行開發(fā);若需要自定義圖表,可以選擇object-orientedAPI進行開發(fā)。安裝matplotlib的方式有多種,既可以直接使用pip命令安裝,也可以使用Anaconda工具進行安裝。1.3.2安裝matplotlibAnaconda是一個開源的Python發(fā)行版本,包括conda、Python環(huán)境,以及諸如numpy、pandas、matplotlib、scipy等180多個科學(xué)計算包,既可以在同一臺計算機上安裝不同版本的軟件包和依賴項,也能在不同環(huán)境之間進行切換,非常適合初學(xué)者使用。安裝Anaconda工具
(1)從Anaconda官網(wǎng)下載的安裝文件,雙擊啟動安裝程序,進入歡迎使用Anaconda3的界面,如右圖所示。
1.3.2安裝matplotlib安裝Anaconda工具
(2)單擊【Next】按鈕進入要求用戶接受許可協(xié)議的界面,如右圖所示。
1.3.2安裝matplotlib安裝Anaconda工具
(3)單擊【IAgree】按鈕進入用戶選擇安裝類型的界面,如右圖所示
。這里選擇采用“JustMe”方式進行安裝。1.3.2安裝matplotlib安裝Anaconda工具
(4)單擊【Next】按鈕進入用戶選擇Anaconda安裝位置的界面,默認安裝路徑為“C:\Users\admin\Anaconda3”,如右圖所示
。
1.3.2安裝matplotlib安裝Anaconda工具
(5)保持默認配置。單擊【Next】按鈕進入設(shè)置高級安裝選項的界面,如右圖所示
。
第1個選項為將Anaconda添加到計算機的環(huán)境變量中,第2個選項為是否允許Anaconda使用Python3.7,這里保持默認配置。1.3.2安裝matplotlib安裝Anaconda工具
(6)單擊【Install】按鈕進入開始安裝的界面,待安裝完成后直接進入安裝完成的界面,如右圖所示
。
1.3.2安裝matplotlib安裝Anaconda工具
(7)單擊【Next】按鈕,進入介紹Anaconda3信息的界面,再次單擊【Next】按鈕進入謝謝安裝Anaconda3的界面,如右圖所示
。
1.3.2安裝matplotlib此時,Anaconda工具已經(jīng)自動安裝了matplotlib庫。安裝Anaconda工具
(8)單擊【Finish】按鈕,之后在默認的瀏覽器中打開了登錄或注冊“AnacondaCloud”的界面,大家直接關(guān)閉即可。1.3.2安裝matplotlib驗證matplotlib是否安裝成功
(1)單擊計算機的【開始】→【所有程序】→【Anaconda3(64-bit)】,可以看到“Anaconda3(64-bit)”目錄中包含多個組件。
1.3.2安裝matplotlib驗證matplotlib是否安裝成功
Navigator
Anaconda發(fā)行版中包含的圖形用戶界面,允許用戶在不使用命令的情況下啟動程序并輕松管理包。JupyterNotebook
基于Web網(wǎng)頁的交互計算的應(yīng)用程序,支持實時代碼、數(shù)學(xué)方程和可視化。Prompt
Anaconda發(fā)行版中自帶的命令行工具,允許用戶使用conda命令管理包。1.3.2安裝matplotlib驗證matplotlib是否安裝成功
(2)單擊“JupyterNotebook(Anaconda3)”啟動程序,并在默認的瀏覽器中打開JupyterNotebook工具,再次單擊“AnacondaProjects”進入存放程序文件的目錄,此時該目錄中還沒有任何程序文件。
1.3.2安裝matplotlib驗證matplotlib是否安裝成功
(3)單擊【New】→【Python3】按鈕,即可創(chuàng)建并打開一個由系統(tǒng)自動命名的“Untitled.ipynb”文件,在“Untitled.ipynb”文件中編寫導(dǎo)入pyplot模塊的語句。
1.3.2安裝matplotlib驗證matplotlib是否安裝成功
(4)單擊【運行】按鈕,程序未出現(xiàn)任何異常信息,表明matplotlib安裝成功。1.3.2安裝matplotlibJupyterNotebook與其它集成開發(fā)環(huán)境相比,它可以重現(xiàn)整個數(shù)據(jù)分析的過程,并將代碼、公式、注釋、圖表和結(jié)論整合到一個文檔中。因此,本書后續(xù)會使用JupyterNotebook工具進行開發(fā),也建議初學(xué)者使用這個工具開發(fā)。1.3.2安裝matplotlib目錄頁1.1數(shù)據(jù)可視化概述1.2常見的數(shù)據(jù)可視化庫1.3初識matplotlib1.4使用matplotlib繪制圖表importnumpyasnpimportmatplotlib.pyplotaspltdata=np.array([1,2,3,4,5])#準備數(shù)據(jù)fig=plt.figure()#創(chuàng)建畫布ax=fig.add_subplot(111)#添加繪圖區(qū)域ax.plot(data)#繪制圖表plt.show()#展示圖表下面結(jié)合面向?qū)ο蟮姆绞嚼L制一個簡單的圖表。1.4使用matplotlib繪制第一個圖表1.4使用matplotlib繪制第一個圖表運行效果importnumpyasnpimportmatplotlib.pyplotaspltdata=np.array([1,2,3,4,5])#準備數(shù)據(jù)#在當(dāng)前畫布的繪圖區(qū)域中繪制圖表plt.plot(data)plt.show()
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版門診設(shè)備設(shè)施租賃與承包合同4篇
- 2025年度航空航天零部件加工與供應(yīng)分包合同3篇
- 二零二五年度離婚財產(chǎn)分割與子女撫養(yǎng)權(quán)分配合同4篇
- 2025年度美團特色團購合作合同范本細則4篇
- 2 24-全國護理專業(yè)教學(xué) 資源庫-1738309514230
- 診斷與改進“應(yīng)知應(yīng)會”50問
- 2025年度特色培訓(xùn)學(xué)校股份合作發(fā)展合同3篇
- 2025年度校園春游活動團隊旅游合同
- 二零二五年企業(yè)員工出差通訊費用報銷及標準合同3篇
- 2025年度個人信用借款合同隱私保護措施2篇
- 三年級數(shù)學(xué)(上)計算題專項練習(xí)附答案
- 中醫(yī)診療方案腎病科
- 2025年安慶港華燃氣限公司招聘工作人員14人高頻重點提升(共500題)附帶答案詳解
- 人教版(2025新版)七年級下冊數(shù)學(xué)第七章 相交線與平行線 單元測試卷(含答案)
- 中藥飲片培訓(xùn)課件
- 醫(yī)院護理培訓(xùn)課件:《早產(chǎn)兒姿勢管理與擺位》
- 《論文的寫作技巧》課件
- 空氣自動站儀器運營維護項目操作說明以及簡單故障處理
- 2022年12月Python-一級等級考試真題(附答案-解析)
- T-CHSA 020-2023 上頜骨缺損手術(shù)功能修復(fù)重建的專家共識
- Hypermesh lsdyna轉(zhuǎn)動副連接課件完整版
評論
0/150
提交評論