Python matplotlib如何刪除subplots中多余的空白子圖
matplotlib刪除subplots中多余的空白子圖
通過fig.delaxes方法,將axes坐標(biāo)參數(shù)傳入即可刪除對(duì)應(yīng)坐標(biāo)的子圖
fig, axes = plt.subplots(3, 4) index = 0 for i in range(3): for j in range(4): sns.histplot(norm_data.iloc[:, index], kde=True, color='k', bins=30, ax=axes[i][j]) index += 1 fig.delaxes(axes[2][3])
Subplot和Subplots繪制子圖
plot可以繪出精美的圖形,但是如果想要在一張圖中展示多個(gè)子圖,plot就很難辦了。
matplotlib提供了subplot來解決這一問題。(其實(shí)很像matlab中的繪圖方法)
Subplot繪圖方法
首先利用之前plot的方法,在一個(gè)人圖中繪制兩個(gè)曲線:
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0.0, 5.0) y1 = np.sin(np.pi*x) y2 = np.sin(np.pi*x*2) plt.plot(x, y1, 'b--', label='sin(pi*x)') plt.ylabel('y1 value') plt.plot(x, y2, 'r--', label='sin(pi*2x)') plt.ylabel('y2 value') plt.xlabel('x value') plt.title('this is x-y value') plt.legend() plt.show()
現(xiàn)在的效果是兩個(gè)圖像擠在一張圖片中,有些情況下這樣的布局比較好,有些情況下則需要將兩個(gè)曲線分開到兩個(gè)不同的子圖像中繪制,這樣可以如下:
subplot在指定分割子圖個(gè)數(shù)和定位子圖時(shí)可以使用參數(shù)連寫的方式如:plt.subplot(221)
plt.subplot(211) plt.plot(x,y1,'b--',label='sin(pi*x)') plt.ylabel('y1 value') plt.subplot(212) plt.plot(x,y2,'r--',label='sin(pi*2x)') plt.ylabel('y2 value') plt.xlabel('x label') plt.show()
plt.subplot(2,1,1)會(huì)將原始的圖像切割成2個(gè)子圖像,是2行1列,并將現(xiàn)在的操作位置轉(zhuǎn)到第一個(gè)子圖上,這樣便實(shí)現(xiàn)了繪制子圖的方法。
如果指定的是plt.subplot(2,2,1),表示將會(huì)切割成2行2列額4個(gè)子圖,那么將會(huì)是如下情況:
plt.subplot(221) plt.plot(x,y1,'b--',label='sin(pi*x)') plt.ylabel('y1 value') plt.subplot(222) plt.plot(x,y2,'r--',label='sin(pi*2x)') plt.ylabel('y2 value') plt.xlabel('x label')
填充所有子圖:
plt.subplot(221) plt.plot(x, y1, 'b--') plt.ylabel('y1') plt.subplot(222) plt.plot(x, y2, 'r--') plt.ylabel('y2') plt.xlabel('x') plt.subplot(223) plt.plot(x, y1, 'r*') plt.subplot(224) plt.plot(x, y1, 'b*')
Subplots繪圖方法
subplots返回的值的類型為元組,其中包含兩個(gè)元素:第一個(gè)為一個(gè)畫布,第二個(gè)是子圖
subplots指定一個(gè)子圖:
subplots指定多個(gè)子圖:
可見,畫布被分為了4各部分,而ax變成了一個(gè)包含四個(gè)子圖對(duì)象的array
現(xiàn)在可以針對(duì)每一個(gè)子圖進(jìn)行畫圖:
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Django基礎(chǔ)CBV裝飾器和中間件的應(yīng)用示例
這篇文章主要為大家介紹了Django基礎(chǔ)CBV裝飾器和中間件的應(yīng)用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03Python實(shí)現(xiàn)冒泡,插入,選擇排序簡(jiǎn)單實(shí)例
這篇文章主要介紹了Python實(shí)現(xiàn)冒泡,插入,選擇排序簡(jiǎn)單實(shí)例,很適合Python初學(xué)者學(xué)習(xí)參考之用,需要的朋友可以參考下2014-08-08Python 字符串大小寫轉(zhuǎn)換的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)硪黄狿ython 字符串大小寫轉(zhuǎn)換的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01基于Python實(shí)現(xiàn)圖片瀏覽器的應(yīng)用程序
圖像瀏覽器應(yīng)用程序是一種非常常見和實(shí)用的工具,這篇文章就來為大家介紹一下如何使用Python編程語言和wxPython庫創(chuàng)建一個(gè)簡(jiǎn)單的圖像瀏覽器應(yīng)用程序,感興趣的可以了解下2023-10-10Python使用pysmb庫訪問Windows共享文件夾的詳細(xì)教程
本教程旨在幫助您使用pysmb庫,通過SMB(Server Message Block)協(xié)議,輕松連接到Windows共享文件夾,并列舉其中的文件與文件夾,此外,我們還將簡(jiǎn)要介紹如何下載和上傳文件,以及如何處理可能遇到的連接錯(cuò)誤,需要的朋友可以參考下2024-12-12python十進(jìn)制轉(zhuǎn)二進(jìn)制的詳解
在本篇文章里小編給大家整理了關(guān)于python十進(jìn)制轉(zhuǎn)二進(jìn)制的相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們可以參考學(xué)習(xí)下。2020-02-02