MySQL數據庫管理與開發(慕課版 第2版) 課件 第4章 Matplotlib進階_第1頁
MySQL數據庫管理與開發(慕課版 第2版) 課件 第4章 Matplotlib進階_第2頁
MySQL數據庫管理與開發(慕課版 第2版) 課件 第4章 Matplotlib進階_第3頁
MySQL數據庫管理與開發(慕課版 第2版) 課件 第4章 Matplotlib進階_第4頁
MySQL數據庫管理與開發(慕課版 第2版) 課件 第4章 Matplotlib進階_第5頁
已閱讀5頁,還剩47頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

Matplotlib進階Matplotlib處理日期時間1次坐標軸(雙坐標軸)2繪制多個子圖表3繪制函數圖像4形狀與路徑5繪制3D圖表6Matplotlib處理日期時間Matplotlib使用浮點數表示日期,浮點數指定從0001-01-01UTC開始的天數,加上1。例如,0001-01-01,06:00是1.25,不是0.25。不支持小于1的值,即0001-01-01UTC之前的日期。Matplotlib的dates模塊提供了一些函數可以在datetime對象和Matplotlib日期之間進行轉換。dates模塊dates模塊函數說明datestr2num使用dateutil.parser.parse將日期字符串轉換為數據date2num將datetime對象轉換為Matplotlib日期num2date將Matplotlib日期轉換為datetime對象num2timedelta將天數轉換為timedelta對象epoch2num將一個紀元或紀元序列轉換為新的日期格式,即自0001起的天數num2epoch將0001年以來的天數轉換為紀元mx2num將mxdatetime實例或mx實例序列轉換為新的日期格式drange返回一個等間距的Matplotlib日期序列Matplotlib自動管理刻度,尤其是刻度的標簽,其后果無疑是一場災難。以這種方式顯示日期時,有時會出現可讀性很差,兩個數據點之間的時間間隔不清晰,或者日期標簽重疊等現象。此時,可以使用dates模塊,該模塊提供了一些專門用于管理日期刻度的函數。dates模塊dates模塊函數和類說明MicrosecondLocator定位微秒SecondLocator定位秒MinuteLocator定位分鐘HourLocator()定位小時DayLocator()定位一個月中指定的日,例如10表示10號WeekdayLocator()定位星期MonthLocator()定位月份,例如7表示7月YearLocator()用于指定X軸或Y軸(通常用于X軸)上的刻度位置,使得這些刻度按照一定的年份間隔顯示。這對于展示跨年度的數據趨勢非常有用。RRuleLocatordateutil.rrule的一個簡單包裝器,它允許幾乎任意的日期刻度規范AutoDateLocator()用于自動確定日期刻度的最佳位置,即根據數據的時間跨度自動選擇合適的刻度間隔(如秒、分鐘、小時、日、月或年),從而簡化了時間序列數據可視化時的坐標軸配置工作。dates模塊函數和類說明AutoDateFormatter自動選擇合適的日期格式,基于刻度間隔自動調整格式。ConciseDateFormatter用于提供簡潔但信息豐富的日期格式,適用于緊湊布局的需求。DateFormatter可以直接指定日期的顯示格式,使用非常靈活IndexDateFormatter將數值索引轉換為日期標簽,用于非連續或不規則的時間序列數據。繪制過程中,可能會出現由于日期顯示過長而影響圖表外觀的情況。此時可以通過設置x軸日期的顯示格式,來解決這個問題,主要使用dates模塊的DateFormatter函數,該函數可以將任意格式的日期按要求進行格式化。設置坐標軸日期的顯示格式設置坐標軸日期的顯示格式%y:兩位數的年份表示(00-99)。%Y:四位數的年份表示(000-9999)。%m:月份(01-12)%d:月內中的一天(0-31)%H:24小時制小時數(0-23)%I:12小時制小時數(01-12)%M:分鐘數(00=59)。%S:秒(00-59)。%a:本地簡化星期名稱。%A:本地完整星期名稱。%b:本地簡化的月份名稱。%B:本地完整的月份名稱。%c:本地相應的日期表示和時間表示。%j:年內的一天(001-366)。%p:本地A.M.或P.M.的等價符。%U:一年中的星期數(00-53)星期天為星期的開始。%w:星期(0-6),星期天為星期的開始。%W:一年中的星期數(00-53)星期一為星期的開始。%x:本地相應的日期表示。%X:本地相應的時間表示。%Z:當前時區的名稱。%%:百分號字符。設置坐標軸日期的顯示格式下面使用DateFormatter函數將日期格式化為月日的格式(如01-01)。dates模塊的日期刻度函數可以幫助快速的完成坐標軸日期刻度的設置,如YearLocator()以年為刻度、MonthLocator()以月為刻度、WeekdayLocator()以星期為刻度等。設置坐標軸日期刻度標簽設置坐標軸日期刻度標簽下面設置為一個星期一個刻度。設置坐標軸日期刻度標簽次坐標軸(雙坐標軸)twinx函數共享X軸在圖表中想要看到商品每日銷售數量和銷售金額隨著日期的變化,這種情況下雙y軸圖表表達更加清晰、直觀。下面我們繪制雙y軸圖表。共享X軸twiny函數共享Y軸twiny函數返回一個共享Y軸、兩個X軸,第二個X軸的刻度在子圖表的頂部顯示。下面繪制雙x軸圖表。共享Y軸繪制多個子圖表subplot函數用于劃分畫布并指定子圖表的繪圖位置(即從1~n的數字編號,n表示子圖表總數),包括行數、列數和繪圖位置。subplot函數subplot(2,3,3)subplot(233)另外,subplot在指定的區域中創建一個軸對象,如果新創建的軸和之前創建的軸重疊,那么,之前的軸將被刪除。下面使用subplot函數繪制一個2×3包含6個子圖的空圖表。subplot函數通過這個實例我們了解了subplot函數的基本用法,接下來將前面所學的簡單圖表整合到一張圖表上subplot函數subplot函數關鍵點(1)每繪制一個子圖表都要調用一次subplot()函數。(2)確定好繪圖位置編號。subplot函數plt.subplot(參數1,參數2,參數3)行數列數區域位置編號subplot(2,2,1)subplot(2,2,2)subplot(2,1,2)subplots函數subplots函數用于創建畫布和子圖。下面使用subplots函數繪制一個2×3包含6個子圖的空圖表。subplots函數畫布坐標軸對象下面使用subplots函數繪制多子圖圖表。subplots函數下面使用add_subplot函數繪制多子圖圖表,用法與subplot函數基本相同。add_subplot函數子圖表共用一個坐標軸繪圖過程中,經常會遇到幾個子圖共用一個坐標軸的情況,例如共用橫坐標(x坐標軸)或者共用縱坐標(y坐標軸),此時可以通過單擊PPTsharex和sharey參數進行設置。下面繪制兩個子圖,一個折線圖一個散點圖,共用一個y軸。繪制函數圖像一元一次函數圖像形如y=kx+b(k≠0)的函數稱為一元一次函數,而在平面直角坐標系中一元一次函數圖像是一條直線。當k>0時,函數是嚴格增函數;當k<0時,函數是嚴格減函數。下面繪制一元一次函數圖像。一元二次函數圖像一元二次函數的基本表示形式為y=ax2+bx+c(a≠0),該函數最高次冪必須為二次,它的圖像是一條對稱軸與y軸平行或重合于y軸的拋物線。下面繪制一元二次函數圖像。正弦函數圖像sin函數正弦函數是實踐中廣泛應用的一類重要函數,在Python中主要使用sin函數。下面繪制正弦函數圖像。余弦函數圖像余弦函數一般指余弦,是三角函數的一種。在Python中主要使用Matplotlib模塊來繪制余弦函數圖像。下面繪制余弦函數圖像形狀與路徑matplotlib.patches模塊提供了多種用于創建二維圖形“補丁”(即形狀)的函數,這些形狀可以添加到圖表中,以增強視覺效果或提供額外的信息。例如,圓形、矩形、多邊形、弧、箭頭等,它們可以被填充顏色、設置邊緣顏色和寬度等。形狀(patches模塊)形狀(patches模塊)函數說明Arc(xy,width,height[,angle,theta1,theta2])繪制圓弧Arrow(x,y,dx,dy[,width])繪制箭頭Circle(xy[,radius])繪制圓形CirclePolygon(xy[,radius,resolution])繪制圓形多邊形ConnectionPatch(xyA,xyB,coordsA[,...])在圖表的不同子區之間繪制連接線Ellipse(xy,width,height[,angle])繪制橢圓FancyArrow(x,y,dx,dy[,width,...])繪制多樣式的箭頭FancyArrowPatch([posA,posB,path,...])繪制具有豐富樣式的箭頭連接。相比于FancyArrow,提供了更大的靈活性和更多的自定義選項函數說明FancyBboxPatch(xy,width,height[,...])繪制帶有裝飾邊框的矩形。例如,圓角、不同線條風格和背景填充的復雜邊框效果等。Patch([edgecolor,facecolor,color,...])用于設置形狀的填充顏色、邊緣顏色、邊緣線的寬度、透明度等PathPatch(path,**kwargs)通過路徑繪制任意形狀的圖形Polygon(xy[,closed])繪制多邊形Rectangle(xy,width,height[,angle])繪制矩形RegularPolygon(xy,numVertices[,radius,...])繪制正多邊形Wedge(center,r,theta1,theta2[,width])繪制楔形(即圓的一部分,類似于餅形圖的一個部分)FancyBboxPatch(xy,width,height[,...])繪制帶有裝飾邊框的矩形。例如,圓角、不同線條風格和背景填充的復雜邊框效果等。形狀(patches模塊)形狀(patches模塊)importmatplotlib.patchesaspatches(1)導入patches模塊;(2)利用表中的函數繪制一個幾何圖形;(3)使用add_patch函數將繪制完成的幾何圖形添加到圖表上。path模塊提供了一個用于描述復雜形狀的基礎類Path,它支持創建和操作二維圖形路徑。這個模塊對于繪制任意形狀非常有用,并且是matplotlib.patches中多種高級圖形對象的基礎。例如,繪制一個心形,就需要通過path模塊的Path類完成。下面通過繪制一個簡單的矩形路徑,進一步了解path模塊。路徑(path模塊)繪制圓主要是matplotlib.patches中的Cirle模塊。繪制圓(Cirle模塊)關鍵字參數描述alpha透明度,值的范圍0~1capstyle端點樣式,可選值有'butt'、'round'、'projecting'。默認值為'butt'clip_boxBbox(剪切框基類),裁剪邊界框,限制補丁的可見區域clip_on布爾值,是否啟用裁剪,默認值為Trueedgecolor或ec邊框顏色。可以是任何有效的顏色描述符(如名稱、十六進制碼等)。默認值為'black'facecolor或fc填充顏色。同樣支持各種顏色描述符。默認值為'none'(無填充)fill布爾值,是否填充圓形。默認值為True。in_layout布爾值,設置Artist對象是否應被視為布局的一部分。默認值為Truejoinstyle連接點樣式,可選值有'miter'、'round'、'bevel'。默認值為'round'linestyle或ls線條樣式,可以是'-','--','-.',':'或它們的完整形式'solid'、'dashed'、'dashdot'、'dotted'。也可以設置為'None'來移除邊框線。默認值為'solid'繪制圓(Cirle模塊)關鍵字參數描述linewidth或lw線條寬度。默認值為None,表示使用當前的rcParams['patch.linewidth']設置path_effects可應用的效果列表,例如陰影效果等picker控制拾取行為的參數,可以是一個布爾值或一個浮點數,具體

溫馨提示

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

最新文檔

評論

0/150

提交評論