如何在MatlabGUI中将绘制的直方图显示为轴?

如何在MatlabGUI中将绘制的直方图显示为轴?,matlab,user-interface,histogram,axes,Matlab,User Interface,Histogram,Axes,我想绘制柱状图并将其显示在轴上。轴位于一个UI面板中。 如何在轴上显示直方图 这是我的密码。它只是在一个新窗口中显示绘制的直方图 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

我想绘制柱状图并将其显示在轴上。轴位于一个UI面板中。 如何在轴上显示直方图

这是我的密码。它只是在一个新窗口中显示绘制的直方图

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.
任何建议???

在调用
imhist
函数之前使用
set(figure\u handle,'CurrentAxes',axes\u handle)
,其中
figure\u handle
是GUI中图形的句柄,
axes\u handle
是GUI中轴的句柄

编辑 我在那里走得有点太快了。正如Hugh Nolan所指出的,您需要将轴句柄用于感兴趣的轴,然后只需使用正确的轴句柄调用
bar
函数即可,例如:

bar(axes_handle,pixelCount_Merah, 'r');

如果在创建时返回轴控制柄,如下所示:

%... creating a uipanel somewhere here
h = axes(); % make axes in uipanel
然后你可以用

axes(h);
在使用
bar
打印到这些轴之前

如果没有可用的轴控制柄,可以使用
findall
命令来查找它,只要您只创建了一组轴:

h=findall(0,'type','axes');
如果您的工作区中有多组轴,您可以尝试通过使用上述命令查找所有轴,然后查找其父级为uipanel的轴来进行筛选