版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù)據(jù)可視化數(shù)據(jù)可視化數(shù)據(jù)探索階段的重要方法數(shù)據(jù)以圖形圖像形式表示揭示隱藏的數(shù)據(jù)特征,直觀傳達關(guān)揵信息Matplotlib庫專門用于開發(fā)二維(包括三維)圖表的工具包實現(xiàn)圖像元素精細化控制,繪制專業(yè)的分析圖表Pandas封裝了Matplotlib的主要繪圖功能Series和DataFrame提供繪圖函數(shù)簡便快捷地創(chuàng)建標準化圖表認識基本圖形按照數(shù)據(jù)值特性,可視圖形大致可以分為3類展示離散數(shù)據(jù):散點圖、柱狀圖、餅圖等;展示連續(xù)數(shù)據(jù):直方圖、箱須圖、折線圖、半對數(shù)圖等;展示數(shù)據(jù)的區(qū)域或空間分布:統(tǒng)計地圖、曲面圖等4.1.2 Pandas快速繪圖基本步驟導(dǎo)入matplotlib、Pandas準備數(shù)據(jù)使用S
2、eries或DataFrame封裝數(shù)據(jù)繪圖調(diào)用Series.plot()或DataFrame.plot()函數(shù)完成繪圖例4-1: 繪制2010-2016年我國GDP折線圖import matplotlib.pyplot as plt #導(dǎo)入pyplot,用于圖形顯示from pandas import DataFramegdp = 41.3,48.9,54.0,59.5,64.4,68.9,74.4data = DataFrame(GDP: Trillion:gdp, index=2010,2011,2012,2013,2014,2015,2016) data.plot() plt.show(
3、) #顯示圖形4.1.2 Pandas快速繪圖例4-1(續(xù)): 繪制2010-2016年我國GDP折線圖data.plot(title=20102016 GDP,LineWidth=2, marker=o,linestyle=dashed,color=r, grid=True,alpha=0.9,use_index=True,yticks=35,40,45,50,55,60,65,70,75)參 數(shù) 名說 明xx軸數(shù)據(jù),默認值為Noneyy軸數(shù)據(jù),默認值為Nonekind繪圖類型。line:折線圖,默認值;bar:垂直柱狀圖;barh:水平柱狀圖;hist:直方圖;box:箱形圖;kde:Ke
4、rnel核密度估計圖;density與kde相同;pie:餅圖;scatter:散點圖title圖形標題,字符串color畫筆顏色。用顏色縮寫,如r、b,或者RGB值,如#CECECE。主要顏色縮寫:b:blue、c:cyan、g:green、k:black、m:magenta、r:red、w:white、y:yellowgrid圖形是否有網(wǎng)格,默認值為Nonefontsize坐標軸(包括x軸和y軸)刻度的字體大小。整數(shù),默認值為Nonealpha圖表的透明度,值為01,值越大顏色越深use_index默認為True,用索引作為x軸刻度linewidth繪圖線寬linestyle繪圖線型。:實
5、線;:破折線;.:點畫線;: :虛線marker標記風(fēng)格。.:點;,:像素(極小點);o:實心圈;v:倒三角;:上三角;:右三角;)plt.text(1.8,70,GDP keeps booming!,fontsize=larger)plt.xlabel(Year,fontsize=12)plt.ylabel(GDP:Trillion,fontsize=12)保存圖表到文件保存函數(shù)figure.savefig(filename,dpi,bbox_inches)plt.savefig(filename,dpi,bbox_inches)參數(shù)說明:filename文件路徑及文件名,文件類型可以是jp
6、g、png、pdf、svg、ps等dpi圖片分辨率,每英寸點數(shù),默認100bbox_inches圖表需保存的部分,設(shè)置為“tight”可以剪除當(dāng)前圖表周圍的空白部分將例4-2繪制圖形保存到當(dāng)前文件夾fig.savefig(2010-2012GDP.jpg,dpi=400,bbox_inches=tight)思考與練習(xí)1. 20122017年我國人均可支配收入為1.47, 1.62, 1.78, 1.94, 2.38, 2.60(單位:萬元)。按照要求繪制以下圖形。1)模仿例4-1和4-3,繪制人均可支配收入折線圖。用小矩形標記數(shù)據(jù)點,紅色虛線,用注解標注最高點,圖標題“Income chart
7、”,設(shè)置坐標軸標題,最后將圖形保存為JPG文件。一維數(shù)組訪問。2)模仿例4-2,使用多個子圖分別繪制人均可支配收入的折線圖、箱須圖以及柱狀圖。【提示:】1)創(chuàng)建3個子圖分別使用(2,2,1)、(2,2,2)和(2,1,2)作為參數(shù)。2)使用plt.subplots_adjust()函數(shù)調(diào)整子圖間距離,以便添加圖標題。4.2.1 繪制常用圖形函數(shù)繪圖散點圖柱狀圖折線圖直方圖密度圖餅圖箱須圖函數(shù)繪圖函數(shù) 描述了變量y隨自變量x的變化過程plt.plot()根據(jù)給定的x、y坐標值繪圖例4-4:繪制 和 的函數(shù)圖給定x的范圍采樣生成x列表計算對應(yīng)y值import numpy as np #導(dǎo)入nump
8、y#生成x數(shù)組x = np.linspace(0,6.28,50) #start, end, num-pointsy=np.sin(x) #計算y=sin(x)數(shù)組plt.plot(x,y, color=r) #用紅色繪圖y=sin(x)plt.plot(x,np.exp(-x),c=b) #用藍色繪圖y=exp(-x)散點圖(Scatter diagram)描述兩個一維數(shù)據(jù)序列之間的關(guān)系將兩組數(shù)據(jù)分別作為點的橫坐標和縱坐標DataFrame.plot(kind=scatter,x,y,title, grid,xlim,ylim,label,.)DataFrame.plot.scatter(x
9、,y,title, grid,xlim,ylim,label,.)參數(shù)說明:xDataFrame中x軸對應(yīng)的數(shù)據(jù)列名yDataFrame中y軸對應(yīng)的數(shù)據(jù)列名label圖例標簽plt.scatter(x,y,.)Matplotlib的scatter函數(shù)也可以繪制散點圖圖元的設(shè)置需要采用獨立的語句散點圖繪制例4-5:繪制散點圖觀察學(xué)生身高和體重之間的關(guān)系stdata = pd.read_csv(datastudents.csv) #讀文件stdata.plot(kind=scatter,x=Height,y=Weight,title=Students Body Shape, marker=*,gr
10、id=True, xlim=150,200, ylim=40,80, label=(Height,Weight) #繪圖學(xué)生的身高與體重具有正相關(guān)性,但不顯著#將數(shù)據(jù)按男生和女生分組data1= datadataGender = 0 #篩選出男生data2= datadataGender = 1 #篩選出女生#分組繪制男生、女生的散點圖plt.figure()plt.scatter(data1Height,data1Weight,c=r,marker=s,label=Male) plt.scatter(data2Height,data2Weight,c=b,marker=,label=Fema
11、le) plt.xlim(150,200) #x軸范圍plt.ylim(40,80) #y軸范圍plt.title(Students Body Shape) #標題plt.xlabel(Weight) #x軸標題plt.ylabel(Height) #y軸標題plt.grid() #網(wǎng)格線plt.legend(loc=upper right) #圖例顯示位置男女生身高、體重明顯存在差異性分組散點圖清晰顯示數(shù)據(jù)聚集特性使用不同的圖例標識分組散點圖矩陣同時觀察多組數(shù)據(jù)之間的關(guān)系例4-6:繪制散點圖矩陣觀察學(xué)生各項信息之間的關(guān)系 身高、體重、年齡、成績 pd.plotting.scatter_mat
12、rix(data,diagonal,.)參數(shù)說明:data包含多列數(shù)據(jù)的DataFrame對象diagonal對角線上的圖形類型。通常放置該列數(shù)據(jù)的密度圖或直方圖data = stdataHeight, Weight,Age,Score #準備數(shù)據(jù)pd.plotting.scatter_matrix(data,diagonal=kde,color=k) #繪圖柱狀圖(Bar Chart)用多個柱體描述單個總體處于不同狀態(tài)的數(shù)量柱體高度或長度與該狀態(tài)下的數(shù)量成正比分為垂直柱狀形圖和水平柱狀圖Series.plot(kind,xerr,yerr,stacked,.)DataFrame.plot(k
13、ind,xerr,yerr,stacked,.)參數(shù)說明:kindbar:垂直柱狀圖;barh:水平柱狀xerr,yerrx、y軸向誤差線stacked是否為堆疊圖,默認為Falserot刻度標簽旋轉(zhuǎn)度數(shù),值0360堆疊柱狀圖多個總體同一狀態(tài)的直條疊加柱狀圖繪制從population.csv文件中讀取人口數(shù)據(jù),繪制各性別的出生人口比較圖YearTotalBoysGirlsRatio年度出生人口總數(shù)男孩數(shù)女孩數(shù)男女比例#讀取數(shù)據(jù)data = pd.read_csv(datapopulation.csv, index_col =Year)data1 = dataBoys,Girlsmean = n
14、p.mean(data1,axis=0) #計算均值std = np.std(data1,axis=0) #計算標準差 #創(chuàng)建圖fig = plt.figure(figsize = (6,2) #設(shè)置圖片大小plt.subplots_adjust(wspace = 0.6) #設(shè)置兩個圖之間的縱向間隔#繪制均值的垂直和水平柱狀圖,標準差使用誤差線來表示ax1 = fig.add_subplot(1, 2, 1)mean.plot(kind=bar,yerr=std,color=cadetblue,title = Average of Births, rot=45)ax2 = fig.add_s
15、ubplot(1, 2, 2)mean.plot(kind=barh,xerr=std,color=cadetblue,title = Average of Births)#繪制復(fù)式柱狀圖和堆疊柱狀圖data1.plot(kind=bar,title = Births of Boys & Girls)data1.plot(kind=bar, stacked=True,title = Births of Boys & Girls)堆疊柱狀圖折線圖用線條描述事物的發(fā)展變化及趨勢普通折線圖:橫、縱坐標軸上都使用算術(shù)刻度半對數(shù)折線圖:橫、縱坐標分別使用算術(shù)刻度與對數(shù)刻度比較的兩種或多種事物的數(shù)據(jù)值域相
16、差較大指標“相對增長量”的變化關(guān)系從GDP.csv文件中讀取數(shù)據(jù),繪制國民經(jīng)濟生產(chǎn)總值GDP和居民人均可支配收入Income的折線圖與半對數(shù)折現(xiàn)圖data = pd.read_csv(GDP.csv, index_col = Year) #讀取數(shù)據(jù)#繪制GDP和Income的折線圖data.plot(title=GDP & Income,LineWidth=2,marker=o,linestyle=dashed, grid=True,use_index=True)#繪制GDP和Income的半對數(shù)折線圖data.plot(logy=True,LineWidth=2,marker=o,lines
17、tyle=dashed,color=G)無法反應(yīng)Income的變化直方圖(Histogram)描述總體的頻數(shù)分布情況將橫坐標按區(qū)間個數(shù)等分每個區(qū)間上長方形的高度表示該區(qū)間樣本的頻率,面積表示頻數(shù)Series.plot(kind=hist,bins,normed,.)參數(shù)說明:bins橫坐標區(qū)間個數(shù)normed是否標準化直方圖,默認值False直方圖繪制例4-9:從student.csv文件中讀取學(xué)生信息,繪制身高分布直方圖。 將身高155185劃分為6個區(qū)間stdata = pd.read_csv(datastudents.csv) #讀文件stdataHeight.plot(kind=his
18、t,bins=6,title=Students Height Dstribution) #繪圖分箱的數(shù)量與數(shù)據(jù)集大小和分布本身相關(guān),通過改變分箱bins的數(shù)量,可以改變分布的離散化程度密度圖(Kernel Density Estimate)基于樣本數(shù)據(jù)擬合概率密度函數(shù)采用平滑的峰值函數(shù):核函數(shù)常用高斯核模擬真實的概率分布曲線與直方圖(標準化后)一起繪制,對比Series.plot(kind=kde,style,.)參數(shù)說明:style風(fēng)格字符串,包括顏色和線型,如ko,r-stdataHeight.plot(kind=hist,bins=6,normed=True,title=Students
19、 Height Dstribution) #繪圖stdataHeight.plot(kind=kde,title=Students Height Dstribution, xlim=155,185,style = k-) #繪制密度圖在例4-9基礎(chǔ)上,增加密度圖餅圖(Pie Chart)描述總體的樣本值構(gòu)成比扇形圖反映部分與部分、部分與整體之間的數(shù)量關(guān)系Series.plot( kind=pie, explode,shadow,startangle,autopct,.)參數(shù)說明:explode列表,表示各扇形塊離開中心的距離shadow扇形塊是否有陰影,默認Falsestartangle起始繪
20、制角度,默認從x軸正方向逆時針開始autopct百分比格式,可用format字符串或者format function, %1.1f%指小數(shù)點前后各1位(不足空格補齊)餅圖繪制例4-10:從advertising.csv中讀取營銷數(shù)據(jù),繪制各類廣告投入占比的餅圖TVWeiboWeChatSales1230.137.869.222.1244.539.345.110.4317.245.969.39.3計算各類渠道的廣告總投入,繪制餅圖表示各類廣告占比#準備數(shù)據(jù),計算各類廣告投入費用總和data = pd.read_csv(data/advertising.csv)piedata = dataTV,W
21、eibo,WeChatdatasum = piedata.sum() #繪制餅圖datasum.plot( kind=pie, figsize=(6,6), title=Advertising Expenditure,fontsize=14, explode=0,0.2,0,shadow=True,startangle=60, autopct=%1.1f%)箱須圖(Box plot)表達數(shù)據(jù)的分位數(shù)分布,觀察異常值將樣本居中的50%值域用一個長方形表示較小和較大的四分之一值域各用一根線表示異常值用“o”表示Series.plot(kind=box, .)例4-10:從advertising.csv中讀取營銷數(shù)據(jù),繪制各類廣告投入投入的箱須圖data = pd.read_csv(dataAdvertising.csv)advdata = dataTV,Weibo,WeChat#繪制各類經(jīng)費投入的箱須圖advdata.plot(kind=box, figsize=(6,6), title=Advertising Expenditure)箱須圖(Box plot)Pandas提供專門繪制箱須圖的函數(shù)boxplot方便將觀察樣本按照其他特征進行分組對比DataFrame.boxplot( by, .)例4-10:從students.csv中讀取學(xué)生數(shù)據(jù),按性別繪制學(xué)生成績的箱須圖參
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年垃圾滲濾液深度處理設(shè)備行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年在線醫(yī)療投資與創(chuàng)業(yè)孵化器行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 聲學(xué)器件的音頻處理與多方通話考核試卷
- 2025-2030年新能源汽車出口市場拓展企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年復(fù)古風(fēng)格休閑服裝復(fù)興行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年可降解礦物餐具企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年戶外露營睡袋椅企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年按摩設(shè)備社區(qū)健康講座行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年復(fù)合調(diào)味肉類行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年手機防水防塵技術(shù)行業(yè)跨境出海戰(zhàn)略研究報告
- 新員工入職通識考試(中軟國際)
- 四星級酒店工程樣板房裝修施工匯報
- 圓翳內(nèi)障病(老年性白內(nèi)障)中醫(yī)診療方案
- 博士后進站申請書博士后進站申請書八篇
- 華為攜手深圳國際會展中心創(chuàng)建世界一流展館
- 2023版思想道德與法治專題2 領(lǐng)悟人生真諦 把握人生方向 第3講 創(chuàng)造有意義的人生
- 全過程工程咨詢服務(wù)技術(shù)方案
- GB/T 41509-2022綠色制造干式切削工藝性能評價規(guī)范
- 土木工程畢業(yè)設(shè)計(論文)-五層宿舍樓建筑結(jié)構(gòu)設(shè)計
- 青年卒中 幻燈
- 典型倒閘操作票
評論
0/150
提交評論