How do I add a logo image into a plot or a figure?

N
narmatagupta · Aug 17, 2020 · 2.1K views
Question
I need to add a logo into the plots and graphs that I generate. I need to import a jpeg, tiff or a png file and place (inset) it in the bottom left corner of the plot.
Expert Answer
Profile picture of Prashant Kumar
Prashant Kumar PhD Expert
Answered Nov 20, 2025
There ability to directly add logos or images in a plot does not exist in MATLAB.
As a workaround the following code can be used.
 
% Test Code to set a logo into figures(plots and graphs)

clear

close

% create the plot/graph

plot(rand(10));

% GET handle to current axes and move the plot axes to the bottom

ha = gca;

uistack(ha,'bottom');

% Creating a new axes for the logo on the current axes

% To create the logo at the bottom left corner of the plot use 

% the next two lines

haPos = get (ha, 'position' );

ha2 = axes ( 'position' , [haPos (1: 2), .1, .04,]);

% To place the logo at the bottom left corner of the figure window

% uncomment the line below and comment the above two lines

% ha2=axes('position',[0, 0, .1,.04,]);

% Adding a LOGO to the new axes

% The logo file(jpeg, png, etc.) must be placed in the working path

[x, map]=imread('peppers.webp');

image(x)

% Setting the colormap to the colormap of the imported logo image

colormap (map)

% Turn the handlevisibility off so that we don't inadvertently plot

% into the axes again. Also, make the axes invisible

set(ha2,'handlevisibility','off','visible','off')
Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!