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.
Related Questions
Expert Answer
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