這篇文章帶給大家的內容是關於Python繪製直方圖及子圖的方法分析(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
1、直方圖的繪製也需要用到matplotlib下的pylab,只不過在繪製折線圖時我們採用的是plot(),而繪製直方圖時我們需要採用hist() 。由於在繪製過程中缺少真實數據,我在這裡採用np.random.normal(a,b,c)產生的隨機數繪製直方圖,a為平均值,b為標準差,c為產生數據的個數。利用np.arange(a,b,c)確定直方圖x軸的範圍及間距,a為最小值,b為最大值,c為間距。以plt.hist(a,b)繪製,a為數據,b為直方圖的特性,可有可無。
import matplotlib.pylab as plt import numpy as np da = np.random.normal(5.0, 0.5, 3000) dis = np.arange(3.5, 5, 0.1) plt.hist(da, dis) plt.show()
2、繪製子圖時,我們需要先將空間分為若干份,這時需要採用指令plt.subplot(a,b,c),其中a表示行,b表示列,c表示從第一行開始從左向右數到c的目前區域。例如,如果想要在第一行繪製三個子圖,第二行繪製一個子圖,則需要採用以下程式碼
import matplotlib.pylab as plt import numpy as np plt.subplot(2, 3, 1) plt.subplot(2, 3, 2) plt.subplot(2, 3, 3) plt.subplot(2, 1, 2) plt.show()
3.區域拆分結束後我們該怎麼在每個區域內繪製對應的影像呢?我們在前面用程式碼將區域拆分為了四個部分,如果我們想在某個區域內繪圖,只需將繪圖程式碼寫在那一部分的程式碼下即可
import matplotlib.pylab as plt import numpy as np plt.subplot(2, 3, 1) #下面的语句绘制第一个子图 x1 = [1, 3, 5, 7, 9, 11] y1 = [2, 4, 6, 8, 10, 12] plt.plot(x1, y1, 'c') plt.subplot(2, 3, 2) #下面的语句绘制第二个子图 x2 = [3, 5, 6, 7, 9, 13, 20] y2 = [1, 6, 2, 3, 5, 7, 11] plt.plot(x2, y2, 'ob') plt.subplot(2, 3, 3) #下面的语句绘制第三个子图 x3 = [2, 5, 7, 8, 10, 11] y3 = [3, 5, 4, 1, 15, 10] plt.plot(x3, y3, '-.') plt.plot(x3, y3, 's') plt.subplot(2, 1, 2) #下面的语句绘制第四个子图 da = np.random.normal(5.0, 0.5, 3000) dis = np.arange(3.5, 5, 0.1) plt.hist(da, dis) plt.show()
#
以上是Python繪製直方圖及子圖的方法分析(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!