Howaida Khoureieh
Howaida Khoureieh

Reputation: 559

Adding text to a figure - MATLAB

I wrote a code that shows a figure devided to 2 parts; the first one showing the main image, and the second one is a slider showing the rest of the images.

Now I need to add text to the main part (Like "Help" or "guide" text). How can I do it?

This is my main sub-code:

    %# design GUI
    numSubs = 10; % Num of sub-images.
    mx = numImgs-numSubs+1;
    hFig = figure('Menubar','none');

    % The Main Image:
       hAx = axes('Position',[0 0.3 1 0.8], 'Parent',hFig);
hMainImg = imshow(img, 'Parent',hAx);

    % the slider
    hPanel = uipanel('Position',[0 0.04 1 0.26], 'Parent',hFig);
    uicontrol('Style','slider', 'Parent',hFig, ...
        'Callback',@slider_callback, ...
        'Units','normalized', 'Position',[0 0 1 0.04], ...
        'Value',1, 'Min',1, 'Max',mx, 'SliderStep',[1 10]./mx);


    subImg = zeros(numSubs,1);
    for i=1:numSubs
        %# create axis, show frame, hookup click callback
        hAx = axes('Parent',hPanel, ...
            'Position',[(i-1)/numSubs 0 1/numSubs 1]);
        % Load img number i
        name=frames(i).name;
        img=imread(name,'jpg');
        subImg(i) = imshow(img, 'Parent',hAx);
        value = i;
        set(subImg(i), 'ButtonDownFcn',{@click_callback value})
        axis(hAx, 'normal')
        hold off;
    end

Any suggestions? Thanks in advance.

Upvotes: 0

Views: 5668

Answers (1)

Rody Oldenhuis
Rody Oldenhuis

Reputation: 38032

Use this construction:

hT = uicontrol('style', 'text', 'string', 'HELLO WORLD', 'position', [...])

It will create static text in the figure at position position. You can use all the regular options for uicontrols like 'parent' or 'units'.

However, since your image is in an axis, the better/easier way to do it is using

hT = text(X, Y, 'HELLO WORLD')

with X and Y the desired coordinates of the text in the axes.

You can set additional options via set:

set(hT, 'color', 'r', 'backgroundcolor', 'k', 'fontsize', 10, ...)

You can get a list of all options by issuing set(hT) on a mock text object.

Upvotes: 1

Related Questions