《商務大數據分析與應用》課件-4-2 探索性數據基礎-matplotlib基礎_第1頁
《商務大數據分析與應用》課件-4-2 探索性數據基礎-matplotlib基礎_第2頁
《商務大數據分析與應用》課件-4-2 探索性數據基礎-matplotlib基礎_第3頁
《商務大數據分析與應用》課件-4-2 探索性數據基礎-matplotlib基礎_第4頁
《商務大數據分析與應用》課件-4-2 探索性數據基礎-matplotlib基礎_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

探索性分析-Matplotlib基礎

目錄Page

2數據可視化與Matplotlibpyplot基礎語法rc參數

繪圖注釋

小結數據可視化對數據的分析離不開數據的可視化。傳統(tǒng)的數據可視化起源于統(tǒng)計圖形學,與信息圖形、視覺設計等現代技術密切相關,其表現形式通常在二維空間。與之相比,大數據可視化往往更關注抽象高維的數據,空間屬性較弱,與所針對的數據類型密切相關。Matplotlib數據可視化基礎Matplotlib是一個在python下實現的類似matlab的純python的第三方庫,旨在用python實現matlab的功能,是python下最出色的繪圖庫。其風格跟matlab相似,同時也繼承了python的簡單明了。matplotlib對于圖像美化方面比較完善,可以自定義線條的顏色和樣式,可以在一張繪圖紙上繪制多張小圖,也可以在一張圖上繪制多條線,可以很方便地將數據可視化并對比分析。Matplotlib數據可視化基礎Matplotlib模塊依賴于NumPy和tkinter模塊,可以繪制多種形式的圖形,包括線圖、直方圖、餅圖、散點圖等,圖形質量滿足出版要求,是數據可視化的重要工具。Matplotlib中應用最廣的是matplotlib.pyplot模塊。Pyplot提供了一套和Matlab類似的繪圖API,使得Matplotlib的機制更像Matlab。我們只需要調用Pyplot模塊所提供的函數就可以實現快速繪圖并設置圖表的各個細節(jié)。在Jupyternotebook中進行交互式繪圖,需要執(zhí)行一下語句:%matplotlibnotebook使用matplotlib時,使用的導入慣例為:importmatplotlib.pyplotaspltMatplotlib繪圖基礎Matplotlib中的常用繪圖及分組掌握pyplot基礎語法1.創(chuàng)建畫布與創(chuàng)建子圖第一部分主要作用是構建出一張空白的畫布,并可以選擇是否將整個畫布劃分為多個部分,方便在同一幅圖上繪制多個圖形的情況。最簡單的繪圖可以省略第一部分,而后直接在默認的畫布上進行圖形繪制。函數名稱函數作用plt.figure創(chuàng)建一個空白畫布,可以指定畫布大小,像素。figure.add_subplot創(chuàng)建并選中子圖,可以指定子圖的行數,列數,與選中圖片編號。掌握pyplot基礎語法2.添加畫布內容第二部分是繪圖的主體部分。其中添加標題,坐標軸名稱,繪制圖形等步驟是并列的,沒有先后順序,可以先繪制圖形,也可以先添加各類標簽。但是添加圖例一定要在繪制圖形之后。函數名稱函數作用plt.title在當前圖形中添加標題,可以指定標題的名稱、位置、顏色、字體大小等參數。plt.xlabel在當前圖形中添加x軸名稱,可以指定位置、顏色、字體大小等參數。plt.ylabel在當前圖形中添加y軸名稱,可以指定位置、顏色、字體大小等參數。plt.xlim指定當前圖形x軸的范圍,只能確定一個數值區(qū)間,而無法使用字符串標識。plt.ylim指定當前圖形y軸的范圍,只能確定一個數值區(qū)間,而無法使用字符串標識。plt.xticks指定x軸刻度的數目與取值。plt.yticks指定y軸刻度的數目與取值。plt.legend指定當前圖形的圖例,可以指定圖例的大小、位置、標簽。掌握pyplot基礎語法importnumpyasnpimportmatplotlib.pyplotasplt%matplotlibinlinedata=np.arange(0,1,0.01)plt.title('mylinesexample')plt.xlabel('X')plt.ylabel('Y')plt.xlim(0,1)plt.ylim(0,1)plt.xticks([0,0.2,0.4,0.6,0.8,1])plt.yticks([0,0.2,0.4,0.6,0.8,1])plt.plot(data,data**2)plt.plot(data,data**3)plt.legend(['y=x^2','y=x^3'])plt.show()掌握pyplot基礎語法data=np.arange(0,np.pi*2,0.01)fig1=plt.figure(figsize=(9,7),dpi=90)#確定畫布大小#繪制第一幅子圖ax1=fig1.add_subplot(1,2,1)plt.title('linesexample')plt.xlabel('X')plt.ylabel('Y')plt.xlim(0,1)plt.ylim(0,1)plt.xticks([0,0.2,0.4,0.6,0.8,1])plt.yticks([0,0.2,0.4,0.6,0.8,1])plt.plot(data,data**2)plt.plot(data,data**3)plt.legend(['y=x^2','y=x^3'])#繪制第二幅子圖ax1=fig1.add_subplot(1,2,2)plt.title('sin-cos')plt.xlabel('X')plt.ylabel('Y')plt.xlim(0,np.pi*2)plt.ylim(-1,1)plt.xticks([0,np.pi/2,np.pi,np.pi*3/2,np.pi*2])plt.yticks([-1,-0.5,0,0.5,1])plt.plot(data,np.sin(data))plt.plot(data,np.cos(data))plt.legend(['sin','cos'])plt.show()掌握pyplot基礎語法Matplotlib的Legend圖例就是為了幫助我們展示每個數據對應的圖像名稱,更好的讓讀者認識到你的數據結構。關于plt.legend()的說明如下:常用設置示例:plt.legend(loc='best',frameon=False)#去掉圖例邊框,推薦使用plt.legend(loc='best',edgecolor='blue')#設置圖例邊框顏色plt.legend(loc='best',facecolor='blue')#設置圖例背景顏色,若無邊框,參數無效0:’best’1:‘upperright’2:‘upperleft’3:‘lowerleft’4:‘lowerright’5:‘right’6:‘centerleft’7:‘centerright’8:‘lowercenter’9:‘uppercenter’10:‘center’掌握pyplot基礎語法3.繪圖的保存與顯示第三部分主要用于保存和顯示圖形。例:fig.savefig(save_path,format='png',transparent=True,dpi=300,pad_inches=0)函數名稱函數作用plt.savafig保存繪制的圖片,可以指定圖片的分辨率、邊緣的顏色等參數。plt.show在本機顯示圖形。掌握pyplot基礎語法figure.savefig選項參數描述fname包含文件路徑或Python文件型對象的字符串。圖片格式是從文件擴展名中推斷出來的(例如pdf格式的.pdf)dpi設置每英寸點數的分辨率,默認為100facecolor,edgecolor子圖之外的圖形背景顏色,默認是’w’(白色)format文件格式(’png’,’pdf’,’svg’,’ps’等)bbox_inches要保存的圖片范圍,如果設置為‘tight‘則去除圖片周圍的空白設置pyplot的動態(tài)rc參數Pyplot字體并不支持中文字符的顯示,因此需要通過設置font.sans-serif參數改變繪圖時的字體,使得圖形可以正常顯示中文。同時,由于更改字體后,會導致坐標軸中的部分字符無法顯示,因此需要同時更改axes.unicode_minus參數。plt.rcParams['font.family']=['SimHei']#用來顯示中文標簽plt.rcParams['axes.unicode_minus']=False#用來正常顯示負號除了設置線條和字體的rc參數外,還有設置文本、箱線圖、坐標軸、刻度、圖例、標記、圖片、圖像保存等rc參數。設置pyplot的動態(tài)rc參數rc參數設置示例fig,ax=plt.subplots()#配置中文顯示plt.rcParams['font.family']=['SimHei']plt.rcParams['axes.unicode_minus']=Falsedeff(t):returnnp.cos(2*np.pi*t)x1=np.arange(0.0,4.0,0.5)x2=np.arange(0.0,4.0,0.01)plt.figure(1)plt.subplot(2,2,1)plt.plot(x1,f(x1),'bo',x2,f(x2),'k')plt.title('子圖1')plt.subplot(2,2,2)plt.plot(np.cos(2*np.pi*x2),'r--')plt.title('子圖2')plt.show()繪圖注釋繪圖時有時需要在圖表中加文本注解這時可以通過text函數在指定的位置(x,y)加入文本注解;通過annotate()在指定位置實現指向型注釋。1指向型注釋annotate()2.無指向型注釋text()繪圖注釋importnumpyasnpimportmatplotlib.pyplotasplt%matplotlibinline#配置中文顯示plt.rcParams['font.family']=['SimHei']plt.rcParams['axes.unicode_minus']=Falsex=np.arange(-10,11,1)y=x*xplt.plot(x,y)plt.title('這是一個標題示例')plt.text(-2.5,30,'funcitony=x*x')plt.show()plt.annotate('這是一個示例',xy=(0,1),xytext=(-2,22),arrowprops={'headwidth':10,'facecolor':'r'})繪圖注釋如在柱狀圖上加入文本數字,可以清楚地顯示每個類別的數量。如6個城市8月份的日均最高氣溫。plt.rcParams['font.family']=['SimHei']data=[25,30,32,34,34,23]label=['青海','蘭州','北京','上海','廣州','拉薩']plt.xticks(range(len(data)),label)pl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論