2013-07-17 120 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的项。

相关问题