2013-07-17 116 views
0

我想繪製直方圖並將其顯示在軸上。軸位於uipanel中。 如何在軸上顯示直方圖?如何在matlab GUI中將繪製的直方圖顯示到座標軸上?

這是我的代碼。它只是在新窗口中顯示繪製的直方圖。

fontSize = 20; 
[pixelCount_Merah grayLevels_Merah] = imhist(Merah); 
%subplot(2, 2, 2); 
bar(pixelCount_Merah, 'r'); 
title('Histogram of Merah', 'Fontsize', fontSize); 
xlim([0 grayLevels_Merah(end)]); % Scale x axis manually. 

有什麼建議?

回答

0

使用set(figure_handle,'CurrentAxes',axes_handle)調用imhist功能,其中figure_handle是這個數字對於您的GUI和axes_handle的手柄之前是在你的GUI軸的手柄。

編輯 我在那裏過得太快了。正如休·諾蘭指出,你所需要的軸處理到感興趣的軸,然後將其處理只是一個調用bar功能與正確的軸的事,例如:

bar(axes_handle,pixelCount_Merah, 'r'); 
1

如果返回的軸柄上創建,像這樣:

%... creating a uipanel somewhere here 
h = axes(); % make axes in uipanel 

然後你就可以使用bar之前繪製到這些軸採用

axes(h); 

如果沒有軸手柄可用,則可以使用findall命令來找到它,只要你只創建了一個組軸:

h=findall(0,'type','axes'); 

如果你有一個以上的您可以嘗試通過使用上述命令查找所有的軸來篩選,然後查找其父項是uipanel的項。

相關問題