MATLAB - 條形圖



在 MATLAB 中建立條形圖是視覺化分類資料的一種基本方法。MATLAB 中的條形圖透過不同高度的條形來表示分類資料。bar 函式用於建立這些繪圖。

語法

bar(y)
bar(x,y)
bar(___,width)
bar(___,style)
bar(___,color)
bar(___,Name,Value)
bar(ax,___)
b = bar(___)

讓我們詳細瞭解一下語法 -

bar(y) - bar(y) 函式生成一個條形圖,其中每個元素在資料集 y 中都對應一個條形。對於繪製單個條形集,將 y 作為包含 m 個元素的向量輸入。這些條形在 x 軸上位於 1 和 m 之間。為了表示多個條形集,提供 y 作為矩陣,其中每一列表示一組不同的資料。

bar(x,y) - 將條形精確地放置在由 x 中的值指示的指定位置。

bar(___,width) - 允許調整相對條形寬度,影響組內條形之間的間距。將寬度定義為單個數值。將此功能與前面演示的任何輸入引數組合結合使用。

bar(___,style) - 定義條形組的外觀。例如,選擇“stacked”以將每個組顯示為具有多種顏色的單個條形。

bar(___,color) - 為所有條形提供統一的顏色。例如,指定“r”以表示紅色條形。

bar(___,Name,Value) - 允許使用各種名稱-值對引數自定義條形圖屬性。這些僅支援使用預設“grouped”或“stacked”樣式的條形圖。

bar(ax,___) - 該函式在由 ax 定義的座標軸上繪製,而不是當前座標軸 (gca) 上。ax 選項可以出現在前面演示的任何輸入引數組合之前。

b = bar(___) - 生成一個或多個 Bar 物件。當 y 為向量時,將建立一個 Bar 物件。如果 y 為矩陣,則 bar 為每個序列生成一個 Bar 物件。在顯示條形圖後,使用 b 修改條形屬性。

建立條形圖

示例 1

在這裡,讓我們建立一個簡單的條形圖,如下例所示 -

y = [50, 85, 110, 135, 155, 180, 210, 230, 255, 280, 300];
bar(y)

現在,當您在 matlab 命令視窗中執行相同的操作時,輸出為 -

bar graph

示例 2

在這裡,我們將使用 x 和 y 向量來建立條形圖,如下所示 -

x = 1900:10:2000;
y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(x,y)

此程式碼將生成一個條形圖,其中條形表示幾十年來的人口增長,其中 x 軸表示年份,y 軸表示以百萬計的人口。

在 matlab 命令視窗中執行後的輸出如下 -

matlab command window

示例 3

此示例顯示瞭如何在條形圖上使用寬度。我們將使用與上例中相同的 x 和 y 值。

x = 1900:10:2000;
y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(x,y, 0.2)

在 matlab 中執行後的輸出為 -

matlab execution

示例 4:將條形組在一起

在此示例中,我們將沿 x 軸繪製 5 組三個條形。

Y = [5,2,1
     8,7,3
     9,8,6
     5,5,5
     4,3,2];

bar(Y)

執行後的輸出為 -

bars together

示例 5:堆疊條形。

將條形堆疊在一起,並顯示一個條形,其高度等於行的總和。

Y = [5,2,1
     8,7,3
     9,8,6
     5,5,5
     4,3,2];

bar(Y,'stacked')

執行後的輸出為 -

stacked bars

示例 6:在條形圖上顯示負資料。

Y = [5,-2,1
   8,7,3
   -9,8,6
   5,5,-5
   -4,3,22];

bar(Y,’stacked’)

執行後的輸出為 -

negative data

示例 7:為條形圖著色

在下面的示例中,我們將為條形圖提供綠色,如下所示 -

y = [50, 85, 110, 135, 155, 180, 210, 230, 255, 280, 300];
bar(y,'g')

在 matlab 命令視窗中執行後的程式碼如下 -

color to bar graph

示例 8:為條形圖提供內部和輪廓顏色

下面的示例將使用 RGB 提供輪廓和內部顏色。

y = [50, 85, 110, 135, 155, 180, 210, 230, 255, 280, 300];
bar(y,'FaceColor',[0 .3 .2],'EdgeColor',[0 .7 .7],'LineWidth',1.8)

在 matlab 命令視窗中執行後的輸出為 -

interior and outline

示例 9:帶顏色圖顏色的條形圖

透過將 FaceColor 屬性配置為“flat”來生成一個使用顏色圖顏色的條形圖。之後,為每個 Bar 物件的 CData 屬性分配一個整數。

程式碼如下 -

A = [6 9 12; 13 45 7; 83 44 12];
b = bar(A,'FaceColor','flat');
for k = 1:size(A,2)
   b(k).CData = k;
end

在 matlab 中執行後的輸出為 -

colormap colors
廣告
© . All rights reserved.