Python數(shù)據(jù)分析與可視化(第2版) 教案 5.4 繪制折線圖_第1頁
Python數(shù)據(jù)分析與可視化(第2版) 教案 5.4 繪制折線圖_第2頁
Python數(shù)據(jù)分析與可視化(第2版) 教案 5.4 繪制折線圖_第3頁
Python數(shù)據(jù)分析與可視化(第2版) 教案 5.4 繪制折線圖_第4頁
Python數(shù)據(jù)分析與可視化(第2版) 教案 5.4 繪制折線圖_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

課題5.4繪制折線圖課型講練授課班級大數(shù)據(jù)授課時(shí)數(shù)2教學(xué)目標(biāo)1.能夠根據(jù)數(shù)據(jù)繪制折線圖。2.理解輔助線的添加方法。教學(xué)重點(diǎn)1.能夠根據(jù)數(shù)據(jù)繪制折線圖。教學(xué)難點(diǎn)1.理解輔助線的添加方法。學(xué)情分析繪制折線圖往往需要利用之前學(xué)過的一些數(shù)據(jù)分析的方法,比如利用分組統(tǒng)計(jì)的結(jié)果繪制圖形,所以數(shù)據(jù)分析對于本次課的學(xué)習(xí)至關(guān)重要,可以略微復(fù)習(xí)之前學(xué)過的數(shù)據(jù)分析方法。折線圖是一種將數(shù)據(jù)點(diǎn)按照順序連接起來的圖形,可以看作將散點(diǎn)圖按照x軸順序連接起來的圖形。折線圖的主要功能是查看因變量y隨著自變量x改變的趨勢,比較適合用于顯示時(shí)間而變化的連續(xù)數(shù)據(jù),同時(shí)還可以看出數(shù)量的差異和增長趨勢的變化。一、繪制折線圖pyplot模塊中繪制折線圖的函數(shù)plot,其一般用法為:plt.plot(x,y,linestyle)其中,x表示x軸對應(yīng)的數(shù)據(jù)。y表示y軸對應(yīng)的數(shù)據(jù)。linestyle表示線條樣式,linestyle可取’-’、’--’、’-.’、’:’四種,默認(rèn)為“-”。示例代碼如下:importpandasaspdimportmatplotlib.pyplotaspltdict={'a':['A','B','C','D','E'],'b':[90,85,90,80,95],'c':[60,65,70,65,75]}data=pd.DataFrame(dict)print(data)x=data['a']y=data['b']plt.plot(x,y,linestyle='-')plt.show()輸出結(jié)果1如圖5-*所示。圖5-*繪制折線圖示例結(jié)果1輸出結(jié)果2如圖5-*所示。圖5-*繪制折線圖示例結(jié)果2二、添加折線圖輔助線在繪制柱形圖或條形圖時(shí),一般可采用某個字段的平均值作為輔助線,平均值可以通過計(jì)算得到,添加起來較為簡單。而在折線圖中,往往需要通過輔助線標(biāo)注最高點(diǎn)或最低點(diǎn),其位置并不固定,所以首先需要通過方法確定最高點(diǎn)或最低點(diǎn)的橫坐標(biāo)與縱坐標(biāo),才能添加折線圖的輔助線。1.確定最值的索引位置確定最值的索引位置,首先需要算出最大值或最小值,然后得到該值對應(yīng)得索引位置,以Series的最大值為例,其一般方法為:s=Seriesmax=s.max()max_num=s.loc[s==max].index其中,利用Series.max()可以算出Series中的最大值,利用s.loc[s==max].index得到最大值數(shù)據(jù)對應(yīng)的索引編號,如果最大值出現(xiàn)多次,其對應(yīng)的索引編號就有多個,這些索引編號就構(gòu)成一個列表。index返回的是符合條件(最大值)對應(yīng)索引構(gòu)成的列表,利用index[0]可以取出列表中的第一個元素,即最大值第一次出現(xiàn)對應(yīng)的索引編號。示例代碼如下:s=pd.Series([12,13,15,11,14])print(s)max=s.max()max_num=s.loc[s==max].index[0]print("s中最大值對應(yīng)的索引編號為:%d,最大值為:%d"%(max_num,s[max_num]))min=s.min()min_num=s.loc[s==min].index[0]print("s中最小值對應(yīng)的索引編號為:%d,最小值為:%d"%(min_num,s[min_num]))輸出結(jié)果1如圖5-*所示。圖5-*確定最值的索引位置示例結(jié)果2.根據(jù)最值添加折線圖輔助線示例代碼如下:x=s.indexy=splt.plot(x,y)max=s.max()max_num=s.loc[s==max].index[0]plt.axvline(max_num,color='r',linestyle=':')plt.axhline(s[max_num],color='r',linestyle=':')plt.show()輸出結(jié)果1如圖5-*所示。圖5-*添加折線圖輔助線示例結(jié)果【結(jié)果分析】在繪制折線圖x軸和y軸的輔助線時(shí),還可以通過其中的參數(shù)最大顯示比例以保證輔助線的添加效果更好,如添加x軸輔助線時(shí),可以利用plt.axvline(ymax)中的參數(shù)ymax來控制x軸輔助線的y軸方向的最大顯示比例,如plt.axvline(ymax=0.5)表示x軸輔助線在y軸方向的最大顯示比例為50%。任務(wù)實(shí)訓(xùn)任務(wù)1:利用read_excel導(dǎo)入meal.xlsx(meal.xlsx存放在c:\data路徑中),導(dǎo)入數(shù)據(jù)命名為data1,完成:(1)查看data1的前5行。(2)從“開始時(shí)間”列中提取出星期名稱,并存放在新列“星期”中。(3)根據(jù)星期進(jìn)行分組,并計(jì)算不同星期的消費(fèi)金額的平均值,將分組統(tǒng)計(jì)結(jié)果按照'Monday'、'Tuesday'、'Wednesday'、'Thursday'、'Friday'、'Saturday'、'Sunday'的順序排列,將命名為data1_group,并查看結(jié)果。(4)根據(jù)(3)的結(jié)果,繪制不同星期平均消費(fèi)金額的折線圖,折線圖的線型為直線,顏色為藍(lán)色,標(biāo)題為“不同星期平均消費(fèi)金額折線圖”。任務(wù)1(1)具體代碼如下:data1=pd.read_excel("c:\data\meal.xls")pd.set_option('display.width',None)pd.set_option('display.unicode.east_asian_width',True)print(data1.head())輸出結(jié)果如圖5-*所示。圖5-*任務(wù)1(1)輸出結(jié)果任務(wù)1(2)具體代碼如下:data1['weekday']=data1['開始時(shí)間'].dt.weekday_nameprint(data1.head())輸出結(jié)果如圖5-*所示。圖5-*任務(wù)1(2)輸出結(jié)果任務(wù)1(3)具體代碼如下:group=data1.groupby('weekday')['消費(fèi)金額'].mean()data1_group=round(data1_group,2)group=group.reindex(['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'])print(group)輸出結(jié)果如圖5-*所示。圖5-*任務(wù)1(3)輸出結(jié)果任務(wù)1(4)具體代碼如下:plt.rcParams['figure.figsize']=(8,6)plt.rcParams['font.sans-serif']=['SimHei']x=data1_group.indexy=data1_groupplt.plot(x,y,linestyle='-',color='b')plt.title("不同星期平均消費(fèi)金額折線圖",size=15)plt.show()輸出結(jié)果如圖5-*所示。圖5-*任務(wù)1(4)輸出結(jié)果任務(wù)2:根據(jù)任務(wù)1得到的結(jié)果data1_group,重新命名為result,并完成:(1)繪制不同星期平均消費(fèi)金額的折線圖,折線圖的線型為直線,顏色為藍(lán)色,標(biāo)題為“不同星期平均消費(fèi)金額折線圖”。(2)根據(jù)折線的最高點(diǎn),添加相應(yīng)x軸和y軸的輔助線。(ymax和xmax的值分別設(shè)為0.95和0.8)任務(wù)2(1)具體代碼如下:importnumpyasnpresult=data1_groupplt.rcParams['figure.figsize']=(8,6)plt.rcParams['font.sans-serif']=['SimHei']x=result.indexy=resultplt.plot(x,y,linestyle='-',color='b')plt.title("不同星期平均消費(fèi)金額折線圖",size=15)任務(wù)2(2)具體代碼如下:max=result.max()max_num=result.loc[result==max].index[0]plt.axvline(max_num,color='r',linestyle=':',ymax=0.95)plt.axhline(result[max_num],color='r',linestyle=':',xmax=0.8)plt.show()輸出結(jié)果1如圖5-*所示。圖5-*任務(wù)2輸出結(jié)果鞏固訓(xùn)練利用r

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論