欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Matplotlib繪圖基礎(chǔ)之配置參數(shù)詳解

 更新時間:2023年08月03日 10:11:57   作者:databook  
Matplotlib?提供了大量配置參數(shù),這些參數(shù)可以但不限于讓我們從整體上調(diào)整通過?Matplotlib?繪制的圖形樣式,下面我們就來看看如何巧妙的運用這些參數(shù)吧

Matplotlib 提供了大量配置參數(shù),這些參數(shù)可以但不限于讓我們從整體上調(diào)整通過 Matplotlib 繪制的圖形樣式,這里面的參數(shù)還有很多是功能性的,和其他工具結(jié)合時需要用的配置。

通過plt.rcParams,可以查看所有的配置信息:

import matplotlib.pyplot as plt
print(len(plt.rcParams))
#運行結(jié)果
312

總共居然有312個配置選項。

一一介紹所有的選項意義不大,具體可參考官方文檔:https://matplotlib.org/stable/api/matplotlib_configuration_api.html#matplotlib.rcParams

本篇只是拋磚引玉,介紹幾個常用的參數(shù),目的是了解參數(shù)的使用方法和產(chǎn)生的效果。

1. 坐標(biāo)軸

首先是坐標(biāo)軸相關(guān)的配置,通過下面的代碼可以看看有多個關(guān)于坐標(biāo)軸的配置:

import matplotlib.pyplot as plt
count = 1
for key, val in plt.rcParams.items():
    #只打印以 axes 開頭的配置
    if key.startswith("axes"):
        print(key, " = ", val)
        count += 1
#相關(guān)的配置有 38 個
print(f"axes 相關(guān)設(shè)置有: {count} 個")

一共有38個關(guān)于坐標(biāo)軸的配置。

挑選一些配置,看看修改前后的效果:

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.rcParams.update(plt.rcParamsDefault)
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
ax.plot(x, y1, label="sin")
ax.plot(x, y2, label="cos")
ax.legend()
plt.show()

修改了背景色,邊框和網(wǎng)格:

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.rcParams.update(plt.rcParamsDefault)
plt.rc("axes", facecolor="#FFE4C4", edgecolor="#A52A2A", grid=True)
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
ax.plot(x, y1, label="sin")
ax.plot(x, y2, label="cos")
ax.legend()
plt.show()

2. 網(wǎng)格

關(guān)于網(wǎng)格,除了通過坐標(biāo)軸來設(shè)置,它還有自己的一些專門的設(shè)置選項:

count = 1
for key, val in plt.rcParams.items():
    if key.startswith("grid"):
        print(key, " = ", val)
        count += 1
print(f"grid 相關(guān)設(shè)置有: {count} 個")

總共有5個相關(guān)的配置,設(shè)置看看效果。

代碼和上面類似,這里只把設(shè)置部分的代碼列出來。

plt.rcParams.update(plt.rcParamsDefault)
plt.rc("axes", grid=True)
plt.rc("grid", linestyle="solid", linewidth=2, color="g", alpha=0.5)

這是修改后的效果,修改前的效果和上一節(jié)中的一樣。

3. 刻度

刻度相關(guān)的參數(shù)如下:

xcount = 1
ycount = 1
for key, val in plt.rcParams.items():
    if key.startswith("xtick"):
        print(key, " = ", val)
        xcount += 1
    if key.startswith("ytick"):
        print(key, " = ", val)
        ycount += 1
print(f"xtick 相關(guān)設(shè)置有: {xcount} 個")
print(f"ytick 相關(guān)設(shè)置有: {ycount} 個")

X軸刻度和Y軸刻度的相關(guān)設(shè)置各有21個。

設(shè)置方法和效果如下:

plt.rcParams.update(plt.rcParamsDefault)
plt.rc("xtick", color="g", direction="in")
plt.rc("ytick", color="r")

上面的示例分別設(shè)置X軸Y軸的顏色,以及X軸directiondirection="in" 表示刻度的小短線在圖形內(nèi)部,

Y軸沒設(shè)置這個屬性,它的刻度線是在圖形外的。

4. 顏色列表

我們繪制圖形的時候,一個圖形中有多個曲線時,每個曲線默認(rèn)就會使用不同的顏色。

這是因為配置中有一個默認(rèn)的顏色列表,繪制多個圖形時,會依次使用其中的顏色。

print(plt.rcParams["axes.prop_cycle"])
#運行結(jié)果
cycler('color', 
['#1f77b4', 
 '#ff7f0e', 
 '#2ca02c',
 '#d62728',
 '#9467bd',
 '#8c564b',
 '#e377c2',
 '#7f7f7f',
 '#bcbd22',
 '#17becf'])

如果去查下顏色編碼的話,可以看出,前兩個顏色就是藍色和紅色。

所以上面的示例中的兩條曲線都是藍色和紅色。

修改下這個默認(rèn)的顏色列表,看看變化效果:

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
from matplotlib import cycler
colors = cycler(
    "color", ["#9467bd", "#8c564b", "#e377c2", "#7f7f7f", "#bcbd22", "#17becf"]
)
plt.rcParams.update(plt.rcParamsDefault)
plt.rc("axes", prop_cycle=colors)
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
ax.plot(x, y1, label="sin")
ax.plot(x, y2, label="cos")
ax.legend()
plt.show()

改變顏色列表之后,兩條曲線的顏色都變了。

繪制曲線或者其他圖形時,其實是有參數(shù)可以指定顏色的,為什么還需要這個顏色列表的配置?

這是因為,如果我們能夠確定整體報告的風(fēng)格,那么就可以在一開始就根據(jù)報告的風(fēng)格設(shè)置好這個顏色列表,

然后繪制各種圖形時就不需要指定顏色,極大簡化后續(xù)的代碼,也提高了代碼的可維護性。

5. 總結(jié)

在配置 rcParams 時,我們可以根據(jù)需要修改各種選項,以達到更好的顯示效果。

但需要注意的是,過多地修改 rcParams 可能會導(dǎo)致繪圖緩慢或出現(xiàn)其他問題,因此需要根據(jù)實際情況進行合理的配置。

到此這篇關(guān)于Matplotlib繪圖基礎(chǔ)之配置參數(shù)詳解的文章就介紹到這了,更多相關(guān)Matplotlib配置參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于Python dict存中文字符dumps()的問題

    關(guān)于Python dict存中文字符dumps()的問題

    這篇文章主要介紹了關(guān)于Python dict存中文字符dumps()的問題,本文給大家分享問題及解決方案,給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • Python中的魔術(shù)方法Magic?Methods使用實例全面指南

    Python中的魔術(shù)方法Magic?Methods使用實例全面指南

    在Python中,魔術(shù)方法Magic?Methods是一種特殊的方法,它們以雙下劃線開頭和結(jié)尾,如__init__、__str__等,這些方法允許定制類的行為,使得對象更具有靈活性和可定制性,本文將深入探討Python中一些常用的魔術(shù)方法,以及如何使用它們來定制類與對象
    2024-01-01
  • Windows下Anaconda下載安裝與配置教程分享

    Windows下Anaconda下載安裝與配置教程分享

    這篇文章主要介紹了Windows下Anaconda下載安裝與配置教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python 檢查數(shù)組元素是否存在類似PHP isset()方法

    Python 檢查數(shù)組元素是否存在類似PHP isset()方法

    isset方法來檢查數(shù)組元素是否存在,在Python中無對應(yīng)函數(shù),在Python中一般可以通過異常來處理數(shù)組元素不存在的情況,而無須事先檢查
    2014-10-10
  • Python中如何實現(xiàn)MOOC掃碼登錄

    Python中如何實現(xiàn)MOOC掃碼登錄

    這篇文章主要介紹了Python中如何實現(xiàn)MOOC掃碼登錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 如何清空python的變量

    如何清空python的變量

    在本篇文章里小編給大家分享的是關(guān)于清空python的變量的方法,有需要的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • python模塊詳解之pywin32使用文檔(python操作windowsAPI)

    python模塊詳解之pywin32使用文檔(python操作windowsAPI)

    pywin32是一個第三方模塊庫,主要的作用是方便python開發(fā)者快速調(diào)用windows API的一個模塊庫,這篇文章主要給大家介紹了關(guān)于python模塊詳解之pywin32使用文檔的相關(guān)資料,文中將python操作windowsAPI介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • PyTorch搭建ANN實現(xiàn)時間序列風(fēng)速預(yù)測

    PyTorch搭建ANN實現(xiàn)時間序列風(fēng)速預(yù)測

    這篇文章主要為大家介紹了PyTorch搭建ANN實現(xiàn)時間序列風(fēng)速預(yù)測,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • 使用PyCharm創(chuàng)建Django項目及基本配置詳解

    使用PyCharm創(chuàng)建Django項目及基本配置詳解

    pycharm是個很不錯的python開發(fā)工具,大大縮短了python項目的創(chuàng)建時間以及調(diào)試時間。這篇文章主要介紹了使用PyCharm創(chuàng)建Django項目及基本配置詳解,pycharm是個很不錯的python開發(fā)工具,大大縮短了python項目的創(chuàng)建時間以及調(diào)試時間
    2018-10-10
  • Python object類中的特殊方法代碼講解

    Python object類中的特殊方法代碼講解

    在本篇文章里小編給各位整理了關(guān)于Python object類中的特殊方法代碼講解,需要的朋友們可以參考下。
    2020-03-03

最新評論