MATLAB與Python繪圖區(qū)別3—直方圖

MATLAB與Python繪圖區(qū)別3—直方圖的圖1

上次推文中,描述了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ù)。

在這個(gè)案例中,MATLAB與Python繪制條形圖會(huì)有什么區(qū)別呢?

(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()

其繪制的條形圖如下圖所示:

MATLAB與Python繪圖區(qū)別3—直方圖的圖2

關(guān)于在Python學(xué)習(xí)直方圖的繪制,方法如下圖所示:

MATLAB與Python繪圖區(qū)別3—直方圖的圖3

(2)MATLAB

clc;clear;x=randn(1,1000)+10y=randn(1,1000)+12
histogram(x,30)hold onhistogram(y,30)
xlabel('區(qū)間')ylabel('頻數(shù)')title('直方圖')legend('以10為正態(tài)中心的數(shù)據(jù)分布','以12為正態(tài)中心的數(shù)據(jù)分布')

其繪制的直方圖如下圖所示:

MATLAB與Python繪圖區(qū)別3—直方圖的圖4

從代碼上來看,兩者最大的區(qū)別是:python中可以直接生成隨機(jī)數(shù),并可直接繪制在一張圖中;matlab需要使用histogram函數(shù)并只能生成隨機(jī)矩陣,所以我們定義一個(gè)一維數(shù)組來生成1000個(gè)隨機(jī)數(shù),并且需要利用hold on命令來將圖繪制在一張圖中。總的來說,兩者思路還是一樣的。

MATLAB與Python繪圖區(qū)別3—直方圖的圖5

歡迎關(guān)注公眾號(hào)“土木愛研小站”并加入學(xué)術(shù)交流群


您的每一個(gè)贊和關(guān)注都是我前進(jìn)的動(dòng)力!!!MATLAB與Python繪圖區(qū)別3—直方圖的圖6MATLAB與Python繪圖區(qū)別3—直方圖的圖7MATLAB與Python繪圖區(qū)別3—直方圖的圖8

登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺(tái)客服

TOP