在我們寫論文或是匯報時,經(jīng)常需要整合所得到的可視化數(shù)據(jù)結(jié)果,插入我們的論文中。如下所示的情況,我們需要將四個相關(guān)的彈性模量預(yù)測結(jié)果在一張圖里展示。
使用matplotlib庫中的子圖(subplot)功能可以輕松而高效地實(shí)現(xiàn)這一過程,避免繁瑣地手動調(diào)節(jié)。
具體代碼如下,我們應(yīng)確保python文件與圖片在同理目錄下(同一個文件夾里)。
import matplotlib.pyplot as plt
im = plt.imread('RL0.png')
im2 = plt.imread('RL2.png')
im3 = plt.imread('RL3.png')
im4 = plt.imread('RL4.png')
注意,imread是 Matplotlib 庫中的一個函數(shù),用于從指定路徑讀取圖像文件并將其作為 NumPy 數(shù)組返回。該函數(shù)支持多種圖像文件格式,包括PNG、JPEG、BMP、GIF等等。通過調(diào)用該函數(shù),可以將圖像數(shù)據(jù)加載到Python環(huán)境中,以便進(jìn)一步處理和分析。
plt.subplot(221, xlabel = '(1)', title = "K_VRH")
plt.imshow(im)
我們通過plt.subplot來設(shè)置子圖的參數(shù),其中數(shù)字221表示子圖總共有2行2列(4個),1則表示位于左上方的第一個圖。
前文提到的plt.imread
函數(shù)通常與其他 Matplotlib 庫中的函數(shù)一起使用,例如 plt.imshow
,用于顯示和處理圖像數(shù)據(jù)。?
plt.xticks([])
plt.yticks([])
運(yùn)行這兩行代碼以消除子圖中的橫縱坐標(biāo)刻度(使得橫縱坐標(biāo)顯示為空),因?yàn)槲覀円幚淼膱D像一般都有刻度了。
plt.subplot(222, xlabel = '(2)', title = "G_VRH")
plt.imshow(im2)
plt.xticks([])
plt.yticks([])
plt.subplot(223, xlabel = '(3)', title = "Elastic anisotropy")
plt.imshow(im3)
plt.xticks([])
plt.yticks([])
plt.subplot(224, xlabel = '(4)', title = "Poisson ratio")
plt.imshow(im4)
plt.xticks([])
plt.yticks([])
再用同樣的方式設(shè)置其他三個子圖,注意本例子總共四個字圖,故字圖(subplot)的最后一位數(shù)字依次從2到4增大,結(jié)合之前的第一個子圖,即表示各個子圖位置從左上到右下。
plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=0.5)
plt.show()
最后,我們通過plt.subplot_adjust來調(diào)節(jié)各個子圖的間距,用plit.show()展示出子圖,運(yùn)行結(jié)如圖所示:
?
于是,我們便將多個圖像整合到了一張圖上,再倒入到論文中即可。文章來源:http://www.zghlxwxcb.cn/news/detail-456262.html
注意,改變plt.subplot()中的數(shù)字即可改變子圖的數(shù)量即位置分布哦。文章來源地址http://www.zghlxwxcb.cn/news/detail-456262.html
到了這里,關(guān)于使用Python中的matplotlib將多個圖片顯示到一張圖內(nèi)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!