最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python常見庫matplotlib學(xué)習(xí)筆記之多個子圖繪圖

 更新時間:2023年05月08日 09:47:52   作者:PellyKoo  
Matplotlib是Python提供的一個繪圖庫,通過該庫我們可以很容易的繪制出折線圖、直方圖、散點圖、餅圖等豐富的統(tǒng)計圖,下面這篇文章主要給大家介紹了關(guān)于Python常見庫matplotlib學(xué)習(xí)筆記之多個子圖繪圖的相關(guān)資料,需要的朋友可以參考下

系列文章目錄

前言

前兩章介紹了單張圖的繪圖操作,這一章介紹下在一張圖中畫多個圖的操作。我們把前一篇的程序稍微改動一下,上一篇中是將正弦函數(shù)和余弦函數(shù)畫在一張圖中,這一次我們將兩個曲線分別畫在不同的子圖中。

完整程序如下所示:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm

# 指定字體
font_path = 'SIMSUN.TTC'
font_prop = fm.FontProperties(fname=font_path, size=12)

en_font_path = 'TIMES.TTF'
en_font_prop = fm.FontProperties(fname=en_font_path, size=12)

x = np.linspace(0, 2 * np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)

fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(8, 6))

ax1.plot(x, y1, label=u'正弦曲線', color='blue')
ax1.set_ylabel('正弦值', fontproperties=font_prop)
ax1.set_xlabel('橫軸', fontproperties=font_prop)
ax1.set_title('正弦函數(shù)', fontproperties=font_prop)

plt.subplots_adjust(hspace=0.6) # 調(diào)整子圖之間的距離

ax2.plot(x, y2, label=u'余弦曲線', color='red')
ax2.set_ylabel('余弦值', fontproperties=font_prop)
ax2.set_xlabel('橫軸', fontproperties=font_prop)
ax2.set_title('余弦函數(shù)', fontproperties=font_prop)

plt.suptitle('函數(shù)', fontproperties=font_prop)

ax1.tick_params(axis='both', which='major', labelsize=10, direction='in', bottom=True)
ax2.tick_params(axis='both', which='major', labelsize=10, direction='in')
# ax1.xaxis.set_tick_params(which='both', labelbottom=True)
# ax1.yaxis.set_tick_params(which='both', labelleft=True)
for tick in ax1.get_xticklabels():
    tick.set_fontproperties(en_font_prop)
for tick in ax1.get_yticklabels():
    tick.set_fontproperties(en_font_prop)
for tick in ax2.get_xticklabels():
    tick.set_fontproperties(en_font_prop)
for tick in ax2.get_yticklabels():
    tick.set_fontproperties(en_font_prop)

ax1.legend(loc='upper right', fontsize=12, edgecolor='black', fancybox=False, framealpha=1, prop=font_prop)
ax2.legend(loc='upper right', fontsize=12, edgecolor='black', fancybox=False, framealpha=1, prop=font_prop)

plt.show()

上述的代碼顯示結(jié)果是:

下面我們開始對代碼一段段分析。

一、多張子圖的參數(shù)設(shè)置

1. 子圖(subplots)

下面的代碼就是先進行子圖設(shè)置。

fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10, 6))

第一個參數(shù)為2,表示子圖行的排布方式,為2行

第二個參數(shù)為1,表示子圖列的排布方式,為1列

figsize的參數(shù)為(10,6),表示最終圖的總像素數(shù)為1000*600。也就是說第一個值為寬,第二個值為高,分別乘以100后,即為生成最終圖的寬高。

除了上面描述的幾種參數(shù)以外,還有下面的可選參數(shù):

參數(shù)含義
squeeze是否壓縮返回的子圖網(wǎng)格數(shù)組,如果為 True,則當(dāng) nrows=1 且 ncols=1 時,返回的是單個 Axes 實例,而不是一個包含單個 Axes 實例的數(shù)組。
subplot_kw傳遞給每個子圖的關(guān)鍵字參數(shù)字典。
gridspec_kw傳遞給 GridSpec 的關(guān)鍵字參數(shù)字典。
sharex是否共享 x 軸的限制范圍。可選值為 ‘none’、‘all’ 或 ‘row’。
sharey是否共享 y 軸的限制范圍。可選值為 ‘none’、‘all’ 或 ‘col’。

2. 子圖y軸坐標(biāo)說明(set_ylabel),子圖x軸坐標(biāo)說明(set_xlabel),設(shè)置子圖標(biāo)題(set_title)

與單一圖像不同的是,有子圖的情況下,我們對子圖設(shè)置坐標(biāo)名稱和子圖名稱時調(diào)用的名字前面要加上set_。

ax1.plot(x, y1, label=u'正弦曲線', color='blue')
ax1.set_ylabel('正弦值', fontproperties=font_prop)
ax1.set_xlabel('橫軸', fontproperties=font_prop)
ax1.set_title('正弦函數(shù)', fontproperties=font_prop)

可以設(shè)置的參數(shù)在下面的對應(yīng)列表中,上面程序中的'正弦值','橫軸'就是下面的參數(shù)label。

參數(shù)含義
label標(biāo)簽的文本內(nèi)容。
fontsize(size)標(biāo)簽的字體大小。
fontweight標(biāo)簽的字體粗細,通常為 ‘bold’ 或 ‘normal’,是否有變化還要看字體文件本身是否支持
color標(biāo)簽的字體顏色,可以是顏色名稱、十六進制碼或 RGB 元組。
rotation標(biāo)簽的旋轉(zhuǎn)角度,通常為 0(水平)或 90(垂直)。
va標(biāo)簽的垂直對齊方式,可選值包括 ‘top’、‘center’ 或 ‘bottom’。
ha標(biāo)簽的水平對齊方式,可選值包括 ‘center’、‘left’ 或 ‘right’

3. 圖片總標(biāo)題(suptitle)

設(shè)置圖的總名稱需要調(diào)用suptitle函數(shù)實現(xiàn)。suptitle是super title的縮寫,其實就是總標(biāo)題

plt.suptitle('函數(shù)', fontproperties=font_prop)

suptitle可以設(shè)置參數(shù)如下表所示,本例中‘函數(shù)’就是參數(shù)中的t。

參數(shù)含義
t超級標(biāo)題的文本內(nèi)容。
x超級標(biāo)題的 x 坐標(biāo),通常為 0.5,即位于子圖網(wǎng)格的中央。這個值是一個百分比,左邊為0,右邊為1。0.5就是處于圖像正中間。
y超級標(biāo)題的 y 坐標(biāo),默認值為 0.98,即位于子圖網(wǎng)格的頂部。這個值是一個百分比,頂部為1,底部為0。0.98就是這個圖像高度的98%的位置。
fontsize(size)超級標(biāo)題的字體大小。
fontweight超級標(biāo)題的字體粗細,通常為 ‘bold’ 或 ‘normal’。
color超級標(biāo)題的字體顏色,可以是顏色名稱、十六進制碼或 RGB 元組。
ha超級標(biāo)題的水平對齊方式,可選值包括 ‘center’、‘left’ 或 ‘right’。
va超級標(biāo)題的垂直對齊方式,可選值包括 ‘top’、‘center’ 或 ‘bottom’

4. 刻度參數(shù)設(shè)置(tick_parms)

ax1.tick_params(axis='both', which='major', labelsize=10, direction='in', bottom=True)
ax2.tick_params(axis='both', which='major', labelsize=10, direction='in')

常見的使用到的參數(shù)如下表所示

參數(shù)含義
axis指定要設(shè)置哪個坐標(biāo)軸的刻度線和標(biāo)簽屬性,可選值為 ‘x’、‘y’ 或 ‘both’
which指定要設(shè)置哪些刻度線和標(biāo)簽屬性,可選值為 ‘major’(主刻度線和標(biāo)簽)、‘minor’(次刻度線和標(biāo)簽)或 ‘both’(主刻度線和標(biāo)簽以及次刻度線和標(biāo)簽)
direction指定刻度線的方向,可選值為 ‘in’(向內(nèi))、‘out’(向外)或 ‘inout’(內(nèi)外均有)
length指定刻度線的長度(單位為點)
width指定刻度線的寬度(單位為點)
color指定刻度線和標(biāo)簽的顏色
pad指定刻度標(biāo)簽與刻度線之間的間距(單位為點)
labelsize指定刻度標(biāo)簽的字號大?。▎挝粸辄c)
labelcolor指定刻度標(biāo)簽的顏色
bottom、top、left、right分別指定四個邊框上的刻度線和標(biāo)簽屬性,這些值都是布爾屬性,默認bottom和left是True,top和right是False

把上面的tick_params中的參數(shù)修改下,添加下表中的一些參數(shù),如下面所示

ax1.tick_params(axis='both', which='major', labelsize=10, direction='in', width=5, pad=10, top=True, left=False, right=True, labelcolor='green')

顯示出的圖就變了,我是隨便加了些,內(nèi)容反而顯的雜亂了,其目的主要是為了測試。

5. 刻度標(biāo)簽的字體(get_xticklabels)(set_fontproperties)

關(guān)于刻度標(biāo)簽的很多參數(shù),在tick_params中其實就可以設(shè)置了,比如說color,pad,labelsize,labelcolor。但唯獨這個字體的格式的設(shè)置比較特殊,需要按下面的代碼進行修改

for tick in ax1.get_xticklabels():
    tick.set_fontproperties(en_font_prop)
for tick in ax1.get_yticklabels():
    tick.set_fontproperties(en_font_prop)
for tick in ax2.get_xticklabels():
    tick.set_fontproperties(en_font_prop)
for tick in ax2.get_yticklabels():
    tick.set_fontproperties(en_font_prop)

上面的代碼實現(xiàn)的是對子圖1和子圖2的x軸刻度標(biāo)簽和y軸刻度標(biāo)簽的修改,總共要做四次,修改成新羅馬體。

get_xticklabels 是 Matplotlib 中用于獲取 x 軸刻度標(biāo)簽的方法。這個方法沒有參數(shù)可以設(shè)置,它返回的是一個包含 Text 對象的列表,每個 Text 對象代表一個 x 軸刻度標(biāo)簽,可以通過調(diào)用 Text 對象的方法不僅可以用來設(shè)置刻度標(biāo)簽的字體,還可以設(shè)置刻度標(biāo)簽的屬性,例如字體大小、顏色、旋轉(zhuǎn)角度等,等于是通過for循環(huán)遍歷來一個個設(shè)置刻度標(biāo)簽。

以下是一些常用的 Text 對象方法及其含義:

對象方法含義
set_text(text)設(shè)置刻度標(biāo)簽的文本內(nèi)容。
set_fontsize(size)設(shè)置刻度標(biāo)簽的字號大小。
set_color(color)設(shè)置刻度標(biāo)簽的顏色。
set_rotation(angle)設(shè)置刻度標(biāo)簽的旋轉(zhuǎn)角度(單位為度)。
set_ha(ha)設(shè)置刻度標(biāo)簽的水平對齊方式,可選值為 ‘left’、‘center’ 或 ‘right’。
set_va(va)設(shè)置刻度標(biāo)簽的垂直對齊方式,可選值為 ‘top’、‘center’ 或 ‘bottom’。

總結(jié)

本章節(jié)主要介紹了子圖繪圖中常見的幾個參數(shù)的設(shè)置,與單一圖所使用的函數(shù)是不同的,使用者需要注意。

到此這篇關(guān)于Python常見庫matplotlib學(xué)習(xí)筆記之多個子圖繪圖的文章就介紹到這了,更多相關(guān)matplotlib多個子圖繪圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python Word實現(xiàn)批量替換文本并生成副本

    Python Word實現(xiàn)批量替換文本并生成副本

    這篇文章主要為大家詳細介紹了Python Word如何實現(xiàn)批量替換文本并生成副本,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-10-10
  • Python如何對文件進行重命名

    Python如何對文件進行重命名

    這篇文章主要介紹了Python如何對文件進行重命名,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • python自動化操作之動態(tài)驗證碼、滑動驗證碼的降噪和識別

    python自動化操作之動態(tài)驗證碼、滑動驗證碼的降噪和識別

    很多網(wǎng)站登錄都需要輸入驗證碼,如果要實現(xiàn)自動登錄就不可避免的要識別驗證碼,下面這篇文章主要給大家介紹了關(guān)于python自動化操作之動態(tài)驗證碼、滑動驗證碼的降噪和識別,需要的朋友可以參考下
    2021-08-08
  • 詳解Python中的Lock和Rlock

    詳解Python中的Lock和Rlock

    這篇文章主要介紹了Python中的Lock和Rlock的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python線程的相關(guān)知識,感興趣的朋友可以了解下
    2021-01-01
  • python 如何獲取頁面所有a標(biāo)簽下href的值

    python 如何獲取頁面所有a標(biāo)簽下href的值

    這篇文章主要介紹了python 獲取頁面所有a標(biāo)簽下href的值操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • 使用Python計算玩彩票贏錢概率

    使用Python計算玩彩票贏錢概率

    這篇文章主要介紹了玩彩票贏錢概率有多少?用Python來告訴你,需要的朋友可以參考下
    2019-06-06
  • python之a(chǎn)rray賦值技巧分享

    python之a(chǎn)rray賦值技巧分享

    今天小編就為大家分享一篇python之a(chǎn)rray賦值技巧分享,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python迭代器自定義類的具體方法

    python迭代器自定義類的具體方法

    在本篇文章里小編給大家整理的是一篇關(guān)于python迭代器自定義類的具體方法,對此有興趣的朋友們可以學(xué)習(xí)下。
    2021-03-03
  • 基于Python制作一個簡單的文章搜索工具

    基于Python制作一個簡單的文章搜索工具

    這篇文章主要為大家詳細介紹了如何基于Python制作一個簡單的文章搜索工具,都是一些基礎(chǔ)的應(yīng)用,文中的示例代碼講解詳細,感興趣的可以了解一下
    2023-05-05
  • Python之NumPy(axis=0 與axis=1)區(qū)分詳解

    Python之NumPy(axis=0 與axis=1)區(qū)分詳解

    這篇文章主要介紹了Python之NumPy(axis=0 與axis=1)區(qū)分詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評論

丰顺县| 喀喇沁旗| 六枝特区| 石家庄市| 南安市| 和林格尔县| 白玉县| 百色市| 湖北省| 平陆县| 同心县| 福州市| 建昌县| 漾濞| 格尔木市| 延安市| 三门峡市| 高青县| 翁牛特旗| 娄底市| 南投县| 桃江县| 中西区| 永安市| 婺源县| 富源县| 锡林郭勒盟| 江阴市| 洛南县| 依兰县| 祁东县| 礼泉县| 磐安县| 浠水县| 宁南县| 班戈县| 昭苏县| 禄劝| 曲松县| 海南省| 城口县|