版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第6章
坐標(biāo)軸的定制·向任意位置添加坐標(biāo)軸·定制刻度·隱藏軸脊·移動軸脊熟悉熟悉掌握掌握
學(xué)習(xí)目標(biāo)熟悉坐標(biāo)軸的結(jié)構(gòu)12掌握坐標(biāo)軸的創(chuàng)建方式,移動軸脊的位置掌握定制刻度的位置和格式,定制刻度的樣式34熟悉隱藏全部軸脊,隱藏部分軸脊目錄頁6.5移動軸脊6.1坐標(biāo)軸概述6.2向任意位置添加坐標(biāo)軸6.3定制刻度6.4隱藏軸脊6.6本章小結(jié)目錄頁6.5移動軸脊6.1坐標(biāo)軸概述6.2向任意位置添加坐標(biāo)軸6.3定制刻度6.4隱藏軸脊6.6本章小結(jié)6.1坐標(biāo)軸概述前文中使用的坐標(biāo)軸會因位置和大小的限制、樣式的固定而顯得圖表既單一且又不夠靈活。matplotlib中提供了定制坐標(biāo)軸的高級知識,包括添加坐標(biāo)軸、定制坐標(biāo)軸的刻度、隱藏坐標(biāo)軸的軸脊、修改軸脊的位置等,便于用戶靈活地操作坐標(biāo)軸,使坐標(biāo)軸能很好地配合圖表。在繪制圖表的過程中,matplotlib會根據(jù)所繪圖表的種類決定是否使用坐標(biāo)系,或者顯示哪種類型的坐標(biāo)系,比如餅圖無坐標(biāo)系、雷達(dá)圖使用極坐標(biāo)系、折線圖使用直角坐標(biāo)系等。6.1坐標(biāo)軸概述直角坐標(biāo)系極坐標(biāo)系matplotlib中的直角坐標(biāo)系由兩條水平坐標(biāo)軸、兩條垂直坐標(biāo)軸以及圍成的繪圖區(qū)域構(gòu)成,以限制圖形顯示的區(qū)域,其左方和下方的坐標(biāo)軸(叫做y軸和x軸)經(jīng)常被使用。坐標(biāo)軸主要包括軸脊、刻度兩大部分,其中刻度又可以細(xì)分為刻度線和刻度標(biāo)簽,刻度線又可以細(xì)分為主刻度線和次刻度線。6.1坐標(biāo)軸概述坐標(biāo)軸及其組成部分對應(yīng)著matplotlib中一些類的對象:坐標(biāo)軸是axis.Axis類的對象,x軸是axis.Xaxis類的對象,y軸是axis.Yaxis類的對象;軸脊是spines.Spine類的對象;刻度是axis.Ticker類的對象。6.1坐標(biāo)軸概述Xaxis類的對象Yaxis類的對象Spine類的對象Ticker類的對象6.1坐標(biāo)軸概述xaxis:獲取x軸。yaxis:獲取y軸。spines:獲取包含全部軸脊的字典。前面剛剛介紹的一些類的對象均屬于Axes類的對象,可通過Axes類提供的一些屬性進(jìn)行獲取。6.1坐標(biāo)軸概述使用Axes類的對象訪問spines屬性后,會返回一個(gè)OrderedDict類的對象。OrderedDict類是dict的子類,它可以維護(hù)添加到字典中鍵值對的順序。示例print(ax.spines)
OrderedDict([('left',<matplotlib.spines.Spineobjectat0x0000000007F0F860>),('right',<matplotlib.spines.Spineobjectat0x0000000007F0FCF8>),('bottom',<matplotlib.spines.Spineobjectat0x0000000007F0F6D8>),('top',<matplotlib.spines.Spineobjectat0x0000000007EFB6D8>)])從輸出結(jié)果可以看出,字典中有4個(gè)包含Spine類對象的元組,它以元組的第一個(gè)元素為鍵,使用'left'、'right'、'bottom'、'top'分別可獲取位于坐標(biāo)軸左方、右方、下方和上方的Spine類對象。
目錄頁6.5移動軸脊6.1坐標(biāo)軸概述6.2向任意位置添加坐標(biāo)軸6.3定制刻度6.4隱藏軸脊6.6本章小結(jié)matplotlib支持向畫布的任意位置添加自定義大小的坐標(biāo)系統(tǒng),同時(shí)顯示坐標(biāo)軸,而不再受規(guī)劃區(qū)域的限制。通過pyplot模塊的axes()函數(shù)創(chuàng)建一個(gè)Axes類的對象,并將Axes類的對象添加到當(dāng)前畫布中。6.2向任意位置添加坐標(biāo)軸axes(arg=None,projection=None,polar=False,aspect,frame_on,**kwargs)語法arg:支持None、4-tuple中任一取值,其中None表示使用subplot(111)添加的與畫布同等大小的Axes
對象,4-tuple表示由4個(gè)浮點(diǎn)型元素(取值范圍為0~1)組成的元組
(left,
bottom,
width,
height)。projection:表示坐標(biāo)軸的類型,可以是None、'aitoff'、'hammer'、'lambert'、'mollweide'、'polar'或'rectilinear'中的任一取值,也可以是自定義的類型。polar:表示是否使用極坐標(biāo),若設(shè)為True,則其作用等價(jià)于projection='polar'。6.2向任意位置添加坐標(biāo)軸還可以使用Figure類對象的add_axes()方法向當(dāng)前畫布的任意位置上添加Axes類對象。目錄頁6.5移動軸脊6.1坐標(biāo)軸概述6.2向任意位置添加坐標(biāo)軸6.3定制刻度6.4隱藏軸脊6.6本章小結(jié)matplotlib.ticker模塊中提供了兩個(gè)類:Locator和Formatter,分別代表刻度定位器和刻度格式器,用于指定刻度線的位置和刻度標(biāo)簽的格式。6.3.1定制刻度的位置和格式6.3.1定制刻度的位置和格式Locator是刻度定位器的基類,它派生了很多子類,通過這些子類構(gòu)建的刻度定位器可以調(diào)整刻度的間隔、選擇刻度的位置??潭榷ㄎ黄?.3.1定制刻度的位置和格式matplotlib.dates模塊中還提供了很多與日期時(shí)間相關(guān)的定位器,關(guān)于這些定位器的說明如下表所示??潭榷ㄎ黄?.3.1定制刻度的位置和格式刻度定位器matplotlib也支持自定義刻度定位器,我們只需要定義一個(gè)Locator
的子類,并在該子類中重寫___call__()方法即可。6.3.1定制刻度的位置和格式使用matplotlib的set_major_locator()或set_minor_locator()方法設(shè)置坐標(biāo)軸的主刻度或次刻度的定位器。刻度定位器示例#
創(chuàng)建一個(gè)HourLocator定位器,間隔為2小時(shí)hour_loc=HourLocator(interval=2)#將hour_loc設(shè)為x軸的主刻度定位器ax.xaxis.set_major_locator(hour_loc)6.3.1定制刻度的位置和格式Formatter是刻度格式器的基類,它派生了很多子類,通過這些子類構(gòu)建的刻度格式器可以調(diào)整刻度標(biāo)簽的格式。Formatter的常見子類如右表所示。刻度格式器6.3.1定制刻度的位置和格式matplotlib.dates模塊中還提供了很多與日期時(shí)間相關(guān)的格式器,關(guān)于這些格式器的說明如下表所示??潭雀袷狡?.3.1定制刻度的位置和格式刻度格式器matplotlib也支持自定義刻度格式器,只需要定義一個(gè)Formatter的子類,并在該子類中重寫___call__()方法即可。6.3.1定制刻度的位置和格式使用matplotlib的set_major_formatter()或set_minor_formatter()方法可以設(shè)置坐標(biāo)軸的主刻度或次刻度的格式器。示例#
創(chuàng)建一個(gè)DateFormatter格式器,格式為x/x/xdate_fmt=DateFormatter('%Y/%m/%d')#將date_fmt設(shè)為x軸的主刻度格式器ax.xaxis.set_major_formatter(date_fmt)刻度格式器在matplotlib中,坐標(biāo)軸的刻度有著固定的樣式,例如,刻度線的方向是朝外的,刻度線的顏色是黑色的等。使用tick_params()函數(shù)可以定制刻度的樣式。6.3.2定制刻度的樣式tick_params(axis='both',
**kwargs)語法axis:表示選擇操作的軸,可以取值為'x'、'y'或'both',默認(rèn)為'both'。which:表示刻度的類型,可以取值為'major'、'minor'或'both',默認(rèn)為'major'。direction:表示刻度線的方向,可以取值為'in'、'out'或'inout'。length:表示刻度線的長度。width:表示刻度線的寬度。color:表示刻度線的顏色。6.3.2定制刻度的樣式pad:表示刻度線與刻度標(biāo)簽的距離。labelsize:表示刻度標(biāo)簽的字體大小。labelcolor:表示刻度標(biāo)簽的顏色。bottom,top,left,right:表示是否顯示下方、上方、左方、右方的刻度線。labelrotation:表示刻度標(biāo)簽旋轉(zhuǎn)的角度。在matplotlib中,坐標(biāo)軸的刻度有著固定的樣式,例如,刻度線的方向是朝外的,刻度線的顏色是黑色的等。使用tick_params()函數(shù)可以定制刻度的樣式。tick_params(axis='both',
**kwargs)語法6.3.3實(shí)例1:深圳市24小時(shí)的平均風(fēng)速本實(shí)例要求根據(jù)下表的數(shù)據(jù),將時(shí)間列的數(shù)據(jù)作為x軸的刻度標(biāo)簽,將風(fēng)速列的數(shù)據(jù)作為y軸的數(shù)據(jù),使用plot()方法繪制反映深圳市24小時(shí)平均風(fēng)速的折線圖
。6.3.3實(shí)例1:深圳市24小時(shí)的平均風(fēng)速由圖可知,中午12點(diǎn)的風(fēng)速最強(qiáng),約為22km/h;0點(diǎn)的風(fēng)速最弱,約為8km/h
。X軸刻度標(biāo)簽為固定格式的時(shí)間刻度線方向朝內(nèi),長度為6,寬度為2,標(biāo)簽大小為12目錄頁6.5移動軸脊6.1坐標(biāo)軸概述6.2向任意位置添加坐標(biāo)軸6.3定制刻度6.4隱藏軸脊6.6本章小結(jié)6.4.1隱藏全部軸脊坐標(biāo)軸一般將軸脊作為刻度的載體,在軸脊上顯示刻度標(biāo)簽和刻度線。matplotlib中的坐標(biāo)系默認(rèn)有4個(gè)軸脊,分別是上軸脊、下軸脊、左軸脊和右軸脊,其中上軸脊和右軸脊并不經(jīng)常使用,大多數(shù)情況下可以將上軸脊和右軸脊隱藏。6.4.1隱藏全部軸脊使用pyplot的axis()函數(shù)可以設(shè)置或獲取一些坐標(biāo)軸的屬性,包括顯示或隱藏坐標(biāo)軸的軸脊。axis(option,*args,
**kwargs)語法以上函數(shù)的參數(shù)option可以接收布爾值或字符串,其中布爾值True或False表示顯示或隱藏軸脊及刻度;字符串通常是以下任一取值:‘on’:顯示軸脊和刻度,效果等同于True?!畂ff’:隱藏軸脊和刻度,效果等同于False。'equal':通過更改軸限設(shè)置等比例。'scaled':通過更改繪圖框的尺寸設(shè)置等比例。'tight':設(shè)置足夠大的限制以顯示所有的數(shù)據(jù)。'auto':自動縮放。Axes類的對象也可以使用axis()方法隱藏坐標(biāo)軸的軸脊。matplotlib.patches是專門用于繪制路徑和形狀的模塊,該模塊中提供了一些表示形狀(諸如箭頭、圓形、長方形等)的類,通過創(chuàng)建這些類的對象可以快速繪制常見的形狀。常見形狀對應(yīng)的類及說明如下表所示。多學(xué)一招:patches模塊多學(xué)一招:patches模塊以創(chuàng)建正多邊形為例,RegularPolygon類構(gòu)造方法的語法格式如下所示:RegularPolygon(xy,
numVertices,
radius=5,
orientation=0,
**kwargs)語法xy:表示中心點(diǎn)的元組(x,y)
。numVertices:表示多邊形頂點(diǎn)的數(shù)量。radius:表示從中心點(diǎn)到每個(gè)頂點(diǎn)的距離。orientation:表示多邊形旋轉(zhuǎn)的角度(以弧度為單位)。多學(xué)一招:patches模塊示例polygon=mpathes.RegularPolygon((0.5,0.5),numVertices=5,radius=0.3,color='y')示例ax=plt.axes([0.3,0.3,0.5,0.5])ax.add_patch(polygon)matplotlib可以只隱藏坐標(biāo)軸的部分軸脊,只需要訪問spines屬性先獲取相應(yīng)的軸脊,再調(diào)用set_color()方法將軸脊的顏色設(shè)為none即可。6.4.2隱藏部分軸脊示例#依次隱藏上軸脊、左軸脊和右軸脊ax.spines['top'].set_color('none')ax.spines['left'].set_color('none')ax.spines['right'].set_color('none')matplotlib可以通過set_ticks_position()方法設(shè)置刻度線的顏色為’none’,通過set_yticklabels()方法設(shè)置刻度標(biāo)簽為空列表。6.4.2隱藏部分軸脊示例ax.yaxis.set_ticks_position('none')ax.set_yticklabels([])在6.3.3節(jié)的實(shí)例中,折線圖顯示了全部的軸脊,但其內(nèi)部的右軸脊和上軸脊并未起到任何作用,因此本實(shí)例要求隱藏折線圖的右軸脊和上軸脊。6.4.3實(shí)例2:深圳市24小時(shí)的平均風(fēng)速目錄頁6.5移動軸脊6.1坐標(biāo)軸概述6.2向任意位置添加坐標(biāo)軸6.3定制刻度6.4隱藏軸脊6.6本章小結(jié)6.5.1移動軸脊的位置matplotlib的Spine類中提供了一個(gè)可以設(shè)置軸脊位置的set_position()方法,通過這個(gè)方法可以將軸脊放置到指定的位置,以滿足一些特定場景的需求。set_position(self,
position)語法以上方法的position參數(shù)表示軸脊的位置,該參數(shù)可以接收包含兩元素的元組(position_type,amount),其中元素position_type代表位置類型,元素amount代表位置。position參數(shù)還可以接
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度暖通工程保險(xiǎn)合同
- 課題申報(bào)參考:明清時(shí)期俄人旅華游記中的中國形象研究
- 課題申報(bào)參考:面向大學(xué)生情緒調(diào)節(jié)的人工智能眼動交互音樂生成系統(tǒng)設(shè)計(jì)研究
- 二零二五年度模具行業(yè)創(chuàng)新項(xiàng)目合作合同2篇
- 2025版選礦廠礦山地質(zhì)勘查承包合同樣本3篇
- 2025年度個(gè)人汽車租賃與停車服務(wù)合同4篇
- 2025版寧夏糧食和物資儲備局糧食儲備庫智能化升級合同3篇
- 2025年度牛糞處理設(shè)施融資租賃合同范本4篇
- 2025版農(nóng)副業(yè)科技成果轉(zhuǎn)化承包合同書二份3篇
- 二零二五年度磚廠生產(chǎn)線承包租賃合同3篇
- 2024年銀行考試-興業(yè)銀行筆試參考題庫含答案
- 泵站運(yùn)行管理現(xiàn)狀改善措施
- 2024屆武漢市部分學(xué)校中考一模數(shù)學(xué)試題含解析
- SYT 0447-2014《 埋地鋼制管道環(huán)氧煤瀝青防腐層技術(shù)標(biāo)準(zhǔn)》
- 第19章 一次函數(shù) 單元整體教學(xué)設(shè)計(jì) 【 學(xué)情分析指導(dǎo) 】 人教版八年級數(shù)學(xué)下冊
- 浙教版七年級下冊科學(xué)全冊課件
- 弧度制及弧度制與角度制的換算
- 瓦楞紙箱計(jì)算公式測量方法
- 江蘇省中等職業(yè)學(xué)校學(xué)業(yè)水平考試商務(wù)營銷類(營銷方向)技能考試測試題
- DB32-T 4004-2021水質(zhì) 17種全氟化合物的測定 高效液相色譜串聯(lián)質(zhì)譜法-(高清現(xiàn)行)
- DB15T 2724-2022 羊糞污收集處理技術(shù)規(guī)范
評論
0/150
提交評論