Matplotlib繪圖基礎(chǔ)之畫(huà)布詳解
Matplotlib
庫(kù)是一個(gè)用于數(shù)據(jù)可視化和繪圖的 Python 庫(kù)。
它提供了大量的函數(shù)和類,可以幫助用戶輕松地創(chuàng)建各種類型的圖表,包括直方圖、箱形圖、散點(diǎn)圖、餅圖、條形圖和密度圖等。
使用 Matplotlib
的過(guò)程中,遇到的難點(diǎn)并不在于繪制各類的圖形,因?yàn)槊糠N圖形都有其對(duì)應(yīng)的API。
難點(diǎn)在于對(duì)繪制的圖形進(jìn)行調(diào)整,這些調(diào)整包括:
- 圖形的大小
- 多個(gè)圖形的組合
- 坐標(biāo)軸的方向,刻度的精度
- 圖形的顏色和字體
等等。
進(jìn)行這些調(diào)整需要對(duì) Matplotlib
的繪圖機(jī)制和其中的主要元素有個(gè)整體的了解。
本篇首先整體介紹下Matplotlib
繪制的圖形中的主要元素,然后重點(diǎn)介紹下其中第一個(gè)重要的元素--畫(huà)布。
1. 主要元素
下面繪制一個(gè)簡(jiǎn)單的圖形來(lái)演示Matplotlib
繪圖時(shí)的主要元素。
import numpy as np import matplotlib import matplotlib.pyplot as plt %matplotlib inline #繪制一個(gè)展示主要元素的圖 x = np.array(range(0, 8)) y1 = np.sin(x) fig = plt.figure() fig.set_size_inches(10,4) fig.set_facecolor('lightgreen') fig.suptitle("整個(gè)圖形的總標(biāo)題") fig.subplots_adjust(wspace=0.3) ax1 = fig.add_subplot(121) ax1.plot(x, y1) ax1.set_title("圖1 標(biāo)題") ax1.set_xlabel("圖1--x軸") ax1.set_ylabel("圖1--y軸") ax2 = fig.add_subplot(122) y2 = np.cos(x) ax2.plot(x, y1) ax2.plot(x, y2) ax2.set_title("圖2 標(biāo)題") ax2.set_xlabel("圖2--x軸") ax2.set_ylabel("圖2--y軸") ax2.legend(labels=["sin", "cos"]) fig.show()
上例中,我們繪制了2個(gè)子圖。主要的元素包括,圖形的大小,圖形的標(biāo)題(主標(biāo)題和子圖標(biāo)題),坐標(biāo)軸(軸標(biāo)簽和刻度),圖例,子圖中曲線(這里可以根據(jù)情況換成其他圖形,比如柱狀圖,散點(diǎn)圖等等)。
上面的示例代碼不用太關(guān)心,這里只是為了顯示Matplotlib
的主要元素。
后續(xù)的文章會(huì)介紹各個(gè)主要元素的常用屬性,最終的目的是能夠靈活的繪制出符合顯示要求的圖形,而不僅僅只是繪制出圖形。
本篇介紹的主要元素是畫(huà)布。
2. 畫(huà)布
畫(huà)布是其他所有的元素的載體,可以說(shuō)是最重要,也是最容易被忽視的元素。
繪制圖形之前,第一件事就是創(chuàng)建畫(huà)布。
2.1. 主要屬性
創(chuàng)建畫(huà)布之后,一般主要用到的屬性是調(diào)整畫(huà)布的大小和顏色。
Matplotlib
畫(huà)布的大小通過(guò)設(shè)置英寸和dpi
來(lái)實(shí)現(xiàn),dpi
表示一英寸有多少像素。
2.1.1. 畫(huà)布大小
比如下面的示例:
fig = plt.figure(figsize=[6, 3], dpi=100) fig.suptitle("標(biāo)題") x = np.array(range(0, 8)) y = np.sin(x) plt.plot(x, y)
修改dpi=200
,圖形明顯變大和清晰。
fig = plt.figure(figsize=[6, 3], dpi=200)
2.1.2. 畫(huà)布顏色
除了大小,設(shè)置畫(huà)布的顏色也是比較常用的。
顏色主要有兩種,背景色和邊框顏色(默認(rèn)的邊框?qū)挾仁?,所以要設(shè)置邊框顏色時(shí),別忘了設(shè)置邊框的寬度)。
比如:下面示例設(shè)置了背景色淺綠色,邊框?qū)挾?0,顏色紅色。
fig = plt.figure(facecolor="lightgreen", edgecolor="red", linewidth=10) fig.suptitle("標(biāo)題") x = np.array(range(0, 8)) y = np.sin(x) plt.plot(x, y)
2.2. 主要方法
除了屬性,畫(huà)布還有幾個(gè)方法也是經(jīng)常使用的。
2.2.1. 設(shè)置標(biāo)題
上面的示例中已經(jīng)包含了,也就是 suptitle()
方法。
2.2.2. 添加子圖
添加子圖用 add_subplot()
方法,這個(gè)方法的參數(shù)一般是三個(gè)數(shù)組 xyz
,x
表示有幾行,y
表示有幾列,z
表示是第一個(gè)子圖。
比如:一行兩列2個(gè)圖
fig = plt.figure() fig.add_subplot(121) fig.add_subplot(122)
比如:2行一列2個(gè)圖:
fig = plt.figure() fig.add_subplot(211) fig.add_subplot(212)
比如:2行2列4個(gè)圖:
fig = plt.figure() fig.add_subplot(221) fig.add_subplot(222) fig.add_subplot(223) fig.add_subplot(224)
2.2.3. 保存圖像
畫(huà)布還有個(gè)重要的功能就是把顯示的圖形保存下來(lái),即 savefig()
方法。
可以把繪制的圖形保存到磁盤(pán),用于分享或者制作報(bào)告。
fig.savefig("d:/share/image.png")
3. 總結(jié)回顧
畫(huà)布讓我們可以整體上設(shè)置圖形的質(zhì)量和排版,分析和作圖過(guò)程中雖然不用過(guò)多考慮它,但是最終如果要出報(bào)告和文檔時(shí),畫(huà)布的設(shè)置就會(huì)變得重要。
畫(huà)布是繪圖的第一步,接下來(lái)這個(gè)系列會(huì)逐步介紹 Matplotlib
的其他主要元素。
到此這篇關(guān)于Matplotlib繪圖基礎(chǔ)之畫(huà)布詳解的文章就介紹到這了,更多相關(guān)Matplotlib畫(huà)布內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中的descriptor描述器簡(jiǎn)明使用指南
descriptor在Python中主要被用來(lái)定義方法和屬性,使用起來(lái)相當(dāng)具有技巧性,這里我們先從基礎(chǔ)的開(kāi)始,整理一份Python中的descriptor描述器簡(jiǎn)明使用指南2016-06-06django傳值給模板, 再用JS接收并進(jìn)行操作的實(shí)例
今天小編就為大家分享一篇django傳值給模板, 再用JS接收并進(jìn)行操作的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05python issubclass 和 isinstance函數(shù)
這篇文章主要介紹了python issubclass 和 isinstance函數(shù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-07-07Python 處理數(shù)據(jù)庫(kù)事務(wù)的操作方法
在Python中,處理數(shù)據(jù)庫(kù)事務(wù)通常涉及使用特定的數(shù)據(jù)庫(kù)驅(qū)動(dòng)如sqlite3、PyMySQL和psycopg2等,這些庫(kù)提供事務(wù)管理功能,允許開(kāi)發(fā)者手動(dòng)控制事務(wù)的提交和回滾,本文給大家介紹Python如何處理數(shù)據(jù)庫(kù)事務(wù),感興趣的朋友一起看看吧2024-10-10Pytorch的安裝過(guò)程之pip、conda、Docker容器安裝
PyTorch是一個(gè)基于Python的開(kāi)源深度學(xué)習(xí)框架,可用于訓(xùn)練和預(yù)測(cè)深度學(xué)習(xí)模型,PyTorch支持多種安裝方法,這篇文章主要介紹了Pytorch的安裝----pip、conda、Docker容器,需要的朋友可以參考下2023-04-04python進(jìn)度條庫(kù)tqdm的基本操作方法
這篇文章主要介紹了python進(jìn)度條庫(kù)tqdm的基本操作方法,tqdm實(shí)時(shí)輸出處理進(jìn)度而且占用的CPU資源非常少,支持windows、Linux、mac等系統(tǒng),支持循環(huán)處理、多進(jìn)程、遞歸處理、還可以結(jié)合linux的命令來(lái)查看處理情況等優(yōu)點(diǎn),下面對(duì)其更多內(nèi)容詳細(xì)介紹,需要的朋友可以參考一下2022-03-03