【问题标题】:How to do bar plot in the same scale and dimension as an image?如何以与图像相同的比例和尺寸进行条形图?
【发布时间】:2013-07-02 13:52:34
【问题描述】:

我有一个图像,然后我通过一些聚合函数(如mean)将它投影到它的一个边缘上。我以这种方式获得一维数字化数据。如何以完全相同的水平或垂直比例将其绘制在源图像下方?

示例代码:

% loading image
image = imread('..\..\FruitSample_small.png');

%computing gradients
dx=double(image(1:end-1,2:end,:))-double(image(1:end-1,1:end-1,:));
dy=double(image(2:end,1:end-1,:))-double(image(1:end-1,1:end-1,:));

% computing total magnitude
a=sqrt(sum(dx.^2,3)+sum(dy.^2,3));

% projection on bottom
h = mean(a,1);

% drawing
figure;
subplot(2,1,1);
imshow(image);

subplot(2,1,2);

bar(h);
axis image;

我希望这里的条形图与上图的宽度相同。此外,我希望直方图与图像一样精确地传播到相同的水平坐标。

【问题讨论】:

    标签: image matlab plot


    【解决方案1】:

    这里的挑战是“轴图像”强制图像轴上的纵横比,这允许图像的显示尺寸与其设置的尺寸不同。我的建议是忘记来自标准化单位的自动调整大小功能,并根据像素大小调整大小。如果您将图像轴的大小设置为以像素为单位的图像大小,那么它将具有正确的纵横比,并且您可以将相同的大小用于条形图。

    load clown; % use a built-in demo image.  Note the image is now in X
    
    %computing gradients
    dx=double(X(1:end-1,2:end,:))-double(X(1:end-1,1:end-1,:));
    dy=double(X(2:end,1:end-1,:))-double(X(1:end-1,1:end-1,:));
    
    % computing total magnitude
    a=sqrt(sum(dx.^2,3)+sum(dy.^2,3));
    
    % projection on bottom
    h = mean(a,1);
    
    % drawing
    figure;
    subplot(2,1,1);
    imagesc(X);
    size_x = size(X,2);
    size_y = size(X,1);
    set(gcf, 'Units', 'pixels')
    fp=get(gcf, 'Position');
    set(gca, 'Units', 'pixels');
    set(gca, 'Position', [(fp(3)-size_x) / 2, (fp(4)-size_y) / 2 + 100, ...
                          size_x, size_y]);
    
    subplot(2,1,2);
    bar(h);
    set(gca, 'Units', 'pixels');
    set(gca, 'Position', [(fp(3)-size_x) / 2, 100, size_x, 100]);
    set(gca, 'XLim', [1 size_x]);
    

    我正在根据图形大小自动计算偏移量,以使结果在图形上居中。这是不可调整大小的。如果您调整图形本身的大小,则必须重新运行 set('Position') 东西来重新调整位置。如果需要动态调整大小,则必须为调整大小事件添加处理程序,并在每次调整大小时调整大小。

    【讨论】:

      猜你喜欢
      • 2020-08-15
      • 1970-01-01
      • 1970-01-01
      • 2019-06-12
      • 1970-01-01
      • 2012-03-15
      • 1970-01-01
      • 1970-01-01
      • 2013-07-21
      相关资源
      最近更新 更多