0

我想绘制直方图并将其显示到轴上。轴位于 uipanel 中。如何在轴中显示直方图?

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

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.

有什么建议么??

4

2 回答 2

1

如果您在创建时返回轴句柄,如下所示:

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

然后你可以使用

axes(h);

在你bar用来绘制这些轴之前。

如果您没有可用的轴句柄,则可以使用findall命令找到它,只要您只创建了一组轴:

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

如果您的工作区中有一组以上的轴,您可以尝试通过使用上述命令查找所有轴进行过滤,然后查找其父级为 uipanel 的轴。

于 2013-07-17T10:31:55.303 回答
0

set(figure_handle,'CurrentAxes',axes_handle)在调用imhist函数之前使用,其中figure_handle是图形的句柄,是图形axes_handle的句柄,是坐标轴的句柄。

编辑 我去那里有点太快了。正如 Hugh Nolan 指出的那样,您需要轴句柄来处理您感兴趣的轴,然后只需bar使用正确的轴句柄调用函数即可,例如:

bar(axes_handle,pixelCount_Merah, 'r');
于 2013-07-17T10:27:12.220 回答