首頁  >  文章  >  後端開發  >  Python繪製直方圖及子圖的方法分析(程式碼範例)

Python繪製直方圖及子圖的方法分析(程式碼範例)

不言
不言轉載
2019-01-14 10:39:037387瀏覽

這篇文章帶給大家的內容是關於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()

Python繪製直方圖及子圖的方法分析(程式碼範例)

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繪製直方圖及子圖的方法分析(程式碼範例)

#

以上是Python繪製直方圖及子圖的方法分析(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除