Python繪圖是實(shí)現(xiàn)數(shù)據(jù)可視化的重要工具之一,通過繪圖不僅可以美觀地展示數(shù)據(jù),還可以幫助我們更好地理解數(shù)據(jù)。當(dāng)需要在同一個圖表中比較多組數(shù)據(jù)或者展示多個圖表時,我們可以使用Python繪制多個圖。
Python有許多強(qiáng)大的繪圖庫可以使用,其中較為常用的包括Matplotlib,Seaborn,Bokeh等。下文以Matplotlib為例,介紹Python如何繪制多個圖。
# 導(dǎo)入需要的庫 import numpy as np import matplotlib.pyplot as plt # 生產(chǎn)數(shù)據(jù) x = np.arange(0, 10, 0.1) y1 = np.sin(x) y2 = np.cos(x) y3 = np.tan(x) # 繪制第一幅圖 plt.figure(1) plt.subplot(311) # 表示3行1列,選擇第1個子圖 plt.plot(x, y1) # 繪制第二幅圖 plt.subplot(312) # 表示3行1列,選擇第2個子圖 plt.plot(x, y2) # 繪制第三幅圖 plt.subplot(313) # 表示3行1列,選擇第3個子圖 plt.plot(x, y3) # 顯示圖形 plt.show()
以上代碼中,我們使用了Matplotlib的subplot函數(shù)來繪制多幅子圖,其中用到的參數(shù)3,1,1表示3行1列,選擇第1個子圖。subplot函數(shù)常見的用法是subplot(row,column,index),其中row表示行數(shù),column表示列數(shù),index表示選中的子圖位置,這些參數(shù)都是整數(shù)。例如subplot(2,2,2)表示2行2列,選擇第2個子圖(即第一行第二列)。
此外,我們還可以使用plt.subplots()函數(shù)來創(chuàng)建多幅子圖,該函數(shù)可以更為簡便地繪制多幅子圖。例如:
fig, axs = plt.subplots(3, 1, figsize=(8, 6), sharex=True) axs[0].plot(x, y1) axs[0].set_title('sin') axs[1].plot(x, y2) axs[1].set_title('cos') axs[2].plot(x, y3) axs[2].set_title('tan') plt.show()
以上代碼中,我們使用了plt.subplots()函數(shù)創(chuàng)建了一個3行1列的圖表,每個子圖的大小為8x6,橫軸共享。然后我們用axs[0],axs[1],axs[2]依次指定了每個子圖的位置,并通過set_title()函數(shù)設(shè)置了每個子圖的標(biāo)題。最后通過plt.show()函數(shù)展示繪制好的圖形。