MATLAB與Python繪圖區(qū)別3—直方圖
瀏覽:2577
上次推文中,描述了MATLAB與Python在繪制條形圖上的區(qū)別,那么我們今天繼續(xù)學(xué)習(xí),在繪制直方圖時(shí),兩者之間的區(qū)別。
案例:
隨機(jī)生成以10為中心的1000個(gè)正態(tài)分布的數(shù),和1000個(gè)以12為中心的正態(tài)分布的數(shù),然后將結(jié)果取值范圍劃分為30個(gè)等距離的區(qū)間,然后統(tǒng)計(jì)各個(gè)區(qū)間上數(shù)出現(xiàn)的個(gè)數(shù)。
(1)Python
import matplotlib.pyplot as pltimport numpy as npplt.rcParams['font.sans-serif']=['STSong']plt.rcParams['axes.unicode_minus']=Falsedata_1 = np.random.randn(1000) + 10data_2 = np.random.randn((1000)) + 12plt.hist(data_1, bins=30)plt.hist(data_2, bins=30)plt.legend(['10為正態(tài)中心的數(shù)據(jù)分布','12為正態(tài)中心的數(shù)據(jù)分布'])plt.xlabel('區(qū)間')plt.ylabel('頻數(shù)')plt.title('直方圖')plt.show()
其繪制的條形圖如下圖所示:
關(guān)于在Python學(xué)習(xí)直方圖的繪制,方法如下圖所示:
(2)MATLAB
clc;clear;x=randn(1,1000)+10y=randn(1,1000)+12histogram(x,30)hold onhistogram(y,30)xlabel('區(qū)間')ylabel('頻數(shù)')title('直方圖')legend('以10為正態(tài)中心的數(shù)據(jù)分布','以12為正態(tài)中心的數(shù)據(jù)分布')
其繪制的直方圖如下圖所示:
從代碼上來看,兩者最大的區(qū)別是:python中可以直接生成隨機(jī)數(shù),并可直接繪制在一張圖中;matlab需要使用histogram函數(shù)并只能生成隨機(jī)矩陣,所以我們定義一個(gè)一維數(shù)組來生成1000個(gè)隨機(jī)數(shù),并且需要利用hold on命令來將圖繪制在一張圖中。總的來說,兩者思路還是一樣的。
歡迎關(guān)注公眾號(hào)“土木愛研小站”并加入學(xué)術(shù)交流群
您的每一個(gè)贊和關(guān)注都是我前進(jìn)的動(dòng)力!!!
技術(shù)鄰APP
工程師必備
工程師必備
- 項(xiàng)目客服
- 培訓(xùn)客服
- 平臺(tái)客服
TOP




















