簡體   English   中英

如何在 MATLAB 中繪制水平直方圖?

[英]How to Plot a Horizontal Histogram in MATLAB?

我看了看,找不到這個問題的答案,所以就這樣吧。

我有一些數據(稱為數據的 1 X 1000 向量),我想為其繪制直方圖信息。 如果我使用histogram(data)命令,那么我會得到一個足夠好的直方圖,其中 x 軸被平均分為十個桶(數據的最大值和最小值之間的十個相等間隔的中點值)和 y -axis 記錄每個存儲桶發生了多少次。

我真正想要的是相同的圖,只是 y 軸代表桶間隔,x 軸代表每個桶的計數......

這樣我就可以把它貼在一些其他信息旁邊的子圖中,一切都會更容易理解(而且看起來超級酷)。 有什么簡單的方法可以做到這一點? 謝謝!

你可以使用barh函數來實現你想要的。 這是一個例子:

testData = randn(10000,1); %# test data
[counts,bins] = hist(testData); %# get counts and bin locations
barh(bins,counts)

在此處輸入圖像描述

翻轉條形圖

這是一個示例,顯示如何沿垂直軸翻轉圖表。

h=barh(bins,counts); %# include previous two lines from above
set(get(h,'Parent'),'xdir','r')

在此處輸入圖像描述

由於引入了 HISTOGRAM 功能 (R2014b),您可以通過將 'orientation' 設置為 'horizo​​ntal' 來制作水平直方圖

例子:

histogram(data,'orientation','horizontal')

您還可以使用常規直方圖函數hist然后通過鍵入來更改視角

>> view(90, -90)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM