![《Python程序設(shè)計(jì)與算法基礎(chǔ)教程》課件(含思政案例) Ch13 圖形繪制和數(shù)據(jù)可視化_第1頁](http://file4.renrendoc.com/view5/M01/05/30/wKhkGGZTNcGAc8DpAAH9dIFdxWA577.jpg)
![《Python程序設(shè)計(jì)與算法基礎(chǔ)教程》課件(含思政案例) Ch13 圖形繪制和數(shù)據(jù)可視化_第2頁](http://file4.renrendoc.com/view5/M01/05/30/wKhkGGZTNcGAc8DpAAH9dIFdxWA5772.jpg)
![《Python程序設(shè)計(jì)與算法基礎(chǔ)教程》課件(含思政案例) Ch13 圖形繪制和數(shù)據(jù)可視化_第3頁](http://file4.renrendoc.com/view5/M01/05/30/wKhkGGZTNcGAc8DpAAH9dIFdxWA5773.jpg)
![《Python程序設(shè)計(jì)與算法基礎(chǔ)教程》課件(含思政案例) Ch13 圖形繪制和數(shù)據(jù)可視化_第4頁](http://file4.renrendoc.com/view5/M01/05/30/wKhkGGZTNcGAc8DpAAH9dIFdxWA5774.jpg)
![《Python程序設(shè)計(jì)與算法基礎(chǔ)教程》課件(含思政案例) Ch13 圖形繪制和數(shù)據(jù)可視化_第5頁](http://file4.renrendoc.com/view5/M01/05/30/wKhkGGZTNcGAc8DpAAH9dIFdxWA5775.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Ch13圖形繪制和數(shù)據(jù)可視化本章要點(diǎn):13.1Python繪圖模塊概述13.2Matplotlib模塊13.3Matplotlib基本繪圖13.4常用圖表類型的繪制13.5面向?qū)ο蟮腗atplotlib繪圖資源下載提示2課件等資源:掃描封底的“課件下載”二維碼,在公眾號(hào)“書圈”中下載。素材(源碼):掃描本書目錄上方的二維碼下載。講解視頻:掃描封底刮刮卡中的二維碼,再掃描書中相應(yīng)章節(jié)中(位于每章最前)的二維碼,作為開源的補(bǔ)充閱讀和學(xué)習(xí)資源。
案例研究:掃描封底刮刮卡中的二維碼,再掃描書中相應(yīng)章節(jié)中(位于每章最后)的二維碼,可以在線學(xué)習(xí)。每章練習(xí)題:掃描封底刮刮卡中的二維碼,再掃描每章習(xí)題部分的二維碼,下載本章練習(xí)題電子版。
題庫平臺(tái):教師登錄網(wǎng)站(),聯(lián)系客服開通教師權(quán)限Python繪圖模塊概述Python標(biāo)準(zhǔn)庫中包括tkinter(畫布繪圖)turtle(海龜繪圖)Python提供大量高質(zhì)量的第三方繪圖庫,常用的開源繪圖模塊庫如下(1)Matplotlib。Matplotlib可以繪制多種形式的圖形,包括普通的線圖、直方圖、餅圖、散點(diǎn)圖以及誤差線圖等;還可以比較方便地定制圖形的各種屬性,例如圖形的類型、顏色、粗細(xì)、字體的大小等。(2)Seaborn。Seaborn是基于Matplotlib進(jìn)行再封裝開發(fā)的第三方庫,并且支持NumPy和Pandas。Seaborn能夠?qū)y(tǒng)計(jì)類數(shù)據(jù)進(jìn)行有效的可視化展示,它提供了一批高層次的統(tǒng)計(jì)類數(shù)據(jù)的可視化展示效果。Seaborn的官網(wǎng)地址為“/”(3)PythonGoogleChart。PythonGoogleChart是GoogleChartAPI的一個(gè)完整封裝,其官網(wǎng)地址“/”。(4)Pychart。Pychart用于創(chuàng)建高品質(zhì)封裝的PostScript、PDF、PNG或SVG圖表Python庫,其官網(wǎng)地址為“/pychart/”。(5)PLPlot。PLPlot是用于創(chuàng)建科學(xué)圖表的跨平臺(tái)軟件包,以C類庫為核心,支持各種語言(C、C++、Fortran、Java、Python等),其官網(wǎng)地址為“/”基于Matplotlib模塊的繪圖Matplotlib是Python最著名的繪圖庫之一,提供了一整套和MATLAB相似的命令A(yù)PI,既適合交互式地進(jìn)行制圖,也可以作為繪圖控件方便地嵌入GUI應(yīng)用程序中Matplotlib的pyplot子庫提供了和MATLAB類似的繪圖API,方便用戶快速繪制2D圖表,包括直方圖、餅圖、散點(diǎn)圖等Matplotlib配合NumPy模塊使用,可以實(shí)現(xiàn)科學(xué)計(jì)算結(jié)果的可視化顯示使用Matplotlib模塊繪圖概述安裝Matplotlib模塊Matplotlib的官網(wǎng)地址是/??梢灾苯訌墓倬W(wǎng)下載安裝Matplotlib模塊使用Matplotlib模塊繪圖,主要使用了Matplotlib.pyplot工具包Matplotlib是一套面向?qū)ο蟮睦L圖庫,其繪制的圖表中的每個(gè)繪圖元素(例如線條、文字、刻度等)都是對(duì)象【例13.1】使用plot()函數(shù)畫圖(linecurve.py):繪制列表[1,2,5,6,8],即繪制x軸坐標(biāo)值為0、1、2、3、4,所對(duì)應(yīng)的y軸坐標(biāo)值為1、2、5、6、8的折線圖importmatplotlib.pyplotasplt#導(dǎo)入matplotlib模塊中的子模塊pyplotplt.plot([1,2,5,6,8])#繪制列表plt.ylabel('somenumbers')#設(shè)置y軸坐標(biāo)標(biāo)題plt.show()#顯示圖形繪制折線圖:使用兩個(gè)列表數(shù)據(jù)【例13.2】繪制y=x2的折線圖(squarex.py)。使用numpy的linspace()函數(shù)生成x軸的坐標(biāo)點(diǎn)列表,該列表取值范圍為[0,10]內(nèi)的100個(gè)點(diǎn),然后計(jì)算y=x*x,最后繪制折線圖importmatplotlib.pyplotasplt #導(dǎo)入模塊importnumpyasnp #導(dǎo)入模塊x=np.linspace(0,10,100) #生成x坐標(biāo)點(diǎn)的列表y=x*x #生成x坐標(biāo)點(diǎn)的列表(y=x*x)plt.plot(x,y) #繪制圖形plt.show() #顯示圖形繪制多個(gè)圖形【例13.3】編寫程序(line3.py),在同一個(gè)圖形中,繪制多條函數(shù)曲線y=0.5x、y=5x和y=x2importmatplotlib.pyplotasplt#導(dǎo)入模塊importnumpyasnp#導(dǎo)入模塊x=np.linspace(0,10,10)#生成x坐標(biāo)點(diǎn)的列表plt.plot(x,x*0.5)#繪制圖形y=0.5xplt.plot(x,x*5)#繪制圖形y=5xplt.plot(x,x*x)#繪制圖形y=x*x#plt.plot(x,x*0.5,x,x*5,x,x*x)#也可以使用一條語句同時(shí)繪制多個(gè)圖形plt.show()#顯示圖形設(shè)置坐標(biāo)軸范圍importmatplotlib.pyplotasplt#導(dǎo)入模塊importnumpyasnp#導(dǎo)入模塊x=np.linspace(0,8,100)#生成x坐標(biāo)點(diǎn)的列表plt.axis([0,8,10,80])#設(shè)置兩個(gè)坐標(biāo)軸的范圍plt.plot(x,10+x*x)#繪制圖形plt.show()#顯示圖形【例13.4】編寫程序(axisScope.py),繪制圖形y=10+x2,并設(shè)置x坐標(biāo)軸的范圍為[0,8],y坐標(biāo)軸的范圍為[10,80]在一個(gè)圖形中同時(shí)繪制正弦曲線和余弦曲線importmatplotlib.pyplotasplt #導(dǎo)入模塊importnumpyasnp #導(dǎo)入模塊x=np.linspace(0,10,100) #生成x坐標(biāo)點(diǎn)的列表plt.plot(x,np.sin(x),x,np.cos(x)) #繪制正弦曲線和余弦曲線plt.axis(xmin=0,xmax=11,ymin=-1.1,ymax=1.1) #設(shè)置兩個(gè)坐標(biāo)軸的范圍plt.xlabel('x') #設(shè)置x軸坐標(biāo)軸標(biāo)題plt.ylabel('y') #設(shè)置y軸坐標(biāo)軸標(biāo)題plt.legend(['sin(x)','cos(x)'],loc='upperright') #設(shè)置圖例plt.savefig('plot1.png’) #保存圖形到文件plt.show() #顯示圖形【例13.5】編寫程序(sincos.py),在一個(gè)圖形中同時(shí)繪制正弦曲線和余弦曲線,設(shè)置x坐標(biāo)軸的范圍為[0,11],y坐標(biāo)軸的范圍為[-1.1,1.1]選擇圖表類型條形圖(1)importmatplotlib.pyplotasplt#導(dǎo)入模塊plt.rcParams['font.sans-serif']=['SimHei']#用來正常顯示中文標(biāo)簽#確定柱狀圖數(shù)量,可以認(rèn)為是x軸刻度(地區(qū):華中、華南、華東、華北、華西)x=[1,2,3,4,5]#x軸刻度y=[5,7,4,3,1]#y軸刻度(銷售額,單位:百萬)color=['red','black','green','orchid','blue']#顏色列表(紅、黑、綠、淡紫色、藍(lán))x_label=['華中','華南','華東','華北','華西']#x軸刻度標(biāo)簽plt.xticks(x,x_label)#繪制x軸刻度標(biāo)簽plt.bar(x,y,color=color)#繪制y軸刻度標(biāo)簽plt.xlabel('地區(qū)')#繪制x軸坐標(biāo)標(biāo)題plt.ylabel('銷售額(單位:百萬)')#繪制y軸坐標(biāo)標(biāo)題plt.title('各地區(qū)產(chǎn)品年度銷售額')#繪制圖表標(biāo)題plt.grid(True,linestyle=':',color='r',alpha=0.6)#設(shè)置網(wǎng)格刻度plt.show()#顯示垂直柱狀圖【例13.6】使用Matplotlib模塊繪制各地區(qū)產(chǎn)品年度銷售額的垂直柱狀圖(bar1.py),圖表標(biāo)題為“各地區(qū)產(chǎn)品年度銷售額”,x軸標(biāo)題為“地區(qū)”,x軸刻度標(biāo)簽為“華中、華南、華東、華北、華西”,y軸標(biāo)題為“銷售額”,每個(gè)地區(qū)的銷售額信息采用不同的顏色表示條形圖(2)importmatplotlib.pyplotasplt#導(dǎo)入模塊plt.rcParams['font.sans-serif']=['SimHei']#用來正常顯示中文標(biāo)簽x=[5,7,4,3,1]#x軸刻度(銷售額,單位:百萬)#確定柱狀圖數(shù)量,可以認(rèn)為是y軸刻度(地區(qū):華中、華南、華東、華北、華西)y=[1,2,3,4,5]color=['red','black','green','orchid','blue']#顏色列表(紅、黑、綠、淡紫色、藍(lán))y_label=['華中','華南','華東','華北','華西']plt.yticks(y,y_label)#繪制y軸刻度標(biāo)簽plt.barh(y,x,color=color)#繪制x軸刻度標(biāo)簽plt.xlabel('銷售額(單位:百萬)')#繪制x軸坐標(biāo)標(biāo)題plt.ylabel('地區(qū)')#繪制y軸坐標(biāo)標(biāo)題plt.title('各地區(qū)產(chǎn)品年度銷售額')#繪制圖表標(biāo)題plt.grid(True,linestyle=':',color='r',alpha=0.6)#設(shè)置網(wǎng)格刻度plt.show()#顯示水平柱狀圖【例13.7】使用Matplotlib模塊繪制各地區(qū)產(chǎn)品年度銷售額水平柱狀圖(bar2.py)餅圖(1)importmatplotlib.pyplotasplt#導(dǎo)入模塊plt.rcParams['font.sans-serif']=['SimHei']#用來正常顯示中文標(biāo)簽labels=['住房','餐飲','娛樂','其他']#餅圖標(biāo)簽percentages=[60.2,20.5,15.1,4.2]#餅圖百分比plt.pie(percentages,labels=labels,autopct='%1.1f%%')#餅圖參數(shù)plt.title("9月份家庭支出占比")#繪制圖標(biāo)標(biāo)題plt.show()#顯示餅圖【例13.8】使用Matplotlib模塊繪制9月份某家庭各項(xiàng)支出占比的餅狀圖(pie1.py),假設(shè)“住房”“餐飲”“娛樂”和“其他”支出分別占比60.2%、20.5%、15.1%和4.2%,圖表標(biāo)題為“9月份家庭支出占比”,需要顯示出各項(xiàng)支出的名稱和所占比例(保留一位小數(shù))餅圖(2)importmatplotlib.pyplotasplt#導(dǎo)入模塊plt.rcParams['font.sans-serif']=['SimHei']#用來正常顯示中文標(biāo)簽labels=['住房','餐飲','娛樂','其他']explode=(0,0.1,0,0.1)#分離出第2個(gè)&第4個(gè)切片('餐飲'和'其他')percentages=[60.2,20.5,15.1,4.2]#餅圖百分比plt.pie(percentages,explode=explode,labels=labels,autopct='%1.1f%%',shadow=True)plt.title("9月份家庭支出占比")#餅圖標(biāo)題plt.show()#顯示餅圖【例13.9】使用Matplotlib模塊繪制9月份某家庭各項(xiàng)支出占比的餅狀圖(pie2.py),為每塊餅增加陰影,并分離出“餐飲”和“其他”這兩個(gè)餅塊散點(diǎn)圖importmatplotlib.pyplotasplt#導(dǎo)入模塊importnumpyasnp#導(dǎo)入模塊x=np.random.randn(1000)#生成由1000個(gè)隨機(jī)點(diǎn)組成的x坐標(biāo)y=np.random.randn(1000)#生成由1000個(gè)隨機(jī)點(diǎn)組成的y坐標(biāo)size=np.random.randn(1000)#生成由1000個(gè)隨機(jī)點(diǎn)組成的大小colors=np.random.rand(1000)#生成由1000個(gè)隨機(jī)點(diǎn)組成的顏色plt.scatter(x,y,s=size,c=colors)#繪制由1000個(gè)隨機(jī)點(diǎn)組成的散點(diǎn)圖plt.show()#顯示圖形【例13.10】編寫程序(scatters.py),生成1000個(gè)隨機(jī)大小和隨機(jī)顏色的隨機(jī)點(diǎn)(x,y),并繪制其散點(diǎn)圖繪制直方圖importnumpyasnp#導(dǎo)入numpy模塊importmatplotlib.pyplotasplt#導(dǎo)入matplotlib模塊中的子模塊pyplot#隨機(jī)生成滿足mu為100、sigma為20的正態(tài)分布的10萬個(gè)智商數(shù)據(jù)mu,sigma=100,20x=mu+sigma*np.random.randn(100000)plt.hist(x,bins=50)#繪制直方圖plt.xlabel('IQ')#繪制x軸坐標(biāo)標(biāo)題plt.ylabel('Probability')#繪制y軸坐標(biāo)標(biāo)題plt.title('HistogramofIQ')#繪制圖表標(biāo)題plt.grid(True)#顯示網(wǎng)格plt.show()#顯示直方圖【例13.11】使用Matplotlib.pyplot的hist()函數(shù)繪制直方圖示例(histfig.py):隨機(jī)生成滿足mu為100、sigma為20的正態(tài)分布的10萬個(gè)智商數(shù)據(jù),并繪制其直方圖繪制多個(gè)子圖importmatplotlib.pyplotasplt #導(dǎo)入模塊importnumpyasnp #導(dǎo)入模塊x=np.linspace(0,10,100) #生成x軸的列表數(shù)據(jù)(范圍[0,10]中的100個(gè)點(diǎn))fig1=plt.figure() #創(chuàng)建一個(gè)Figure對(duì)象ax1=fig1.add_subplot(2,1,1) #創(chuàng)建一個(gè)子圖:2行1列中的第1個(gè)圖ax1.plot(x,np.sin(x)) #繪制y=sin(x)ax1.set_title('sin(x)') #設(shè)置圖表標(biāo)題ax2=fig1.add_subplot(2,1,2) #創(chuàng)建一個(gè)子圖:2行1列中的第2個(gè)圖ax2.plot(x,np.cos(x)) #繪制y=cos(x)ax2.set_title('cos(x)') #設(shè)置圖表標(biāo)題plt.show() #顯示圖形【例13.12】繪制多個(gè)子圖示例(multifigs.py):利用NumPy模塊和Matplotlib.pyplot工具包繪制y=sin(x)以及y=cos(x)的函數(shù)曲線本章小結(jié)實(shí)驗(yàn)和習(xí)題上機(jī)實(shí)踐1~6復(fù)習(xí)題單選題填空題案例研究:漢諾塔(TowerofHanoi)問題求解動(dòng)畫本章案例研究是通過一個(gè)基于turtle的漢諾塔問題求解動(dòng)畫的設(shè)計(jì)和實(shí)現(xiàn),幫助讀者進(jìn)一步深入了解遞歸和turtle圖形漢諾塔問題求解移動(dòng)圓盤的規(guī)則如下:(1)一次只能移動(dòng)一個(gè)圓盤
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)南國(guó)仙桃香精市場(chǎng)調(diào)查研究報(bào)告
- 2025至2031年中國(guó)電啟動(dòng)超越離合器總成行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年度大型場(chǎng)館音響燈光機(jī)電安裝合同范本
- 2025年度城市軌道交通工程質(zhì)量檢測(cè)合同
- 2025年專利申請(qǐng)實(shí)施許可合同常用版(4篇)
- 二零二五年度房屋結(jié)構(gòu)安全鑒定及賠償合同
- 2025年度新能源汽車充電站租賃合同終止及設(shè)備更新協(xié)議
- 2025年國(guó)際貿(mào)易合同主體欺詐鑒定與法律責(zé)任承擔(dān)協(xié)議
- 2025年墻體拆除工程施工許可與備案服務(wù)合同模板
- 2025年度基站通信信號(hào)優(yōu)化合同
- 2025年華能新能源股份有限公司招聘筆試參考題庫含答案解析
- 《中國(guó)心力衰竭診斷和治療指南(2024)》解讀完整版
- 《檔案管理課件》課件
- 2024年度中國(guó)共產(chǎn)主義共青團(tuán)團(tuán)課課件版
- 護(hù)理學(xué)基礎(chǔ)教案導(dǎo)尿術(shù)
- 顱腦外傷(新版)課件
- 《先秦漢魏晉南北朝詩》(精校WORD版)
- 分包商座談會(huì)領(lǐng)導(dǎo)致辭
- GB/T 16679-1996信號(hào)與連接的代號(hào)
- 高三考前押題卷文科綜合地理試卷(解析版)
- 北郵工程數(shù)學(xué)期末試卷B卷
評(píng)論
0/150
提交評(píng)論