How do I scale an image and a plot in a subplot in matlab
6 views (last 30 days)
Show older comments
Hi all, I have this plot of an image and a set of plots which I plotted together using subplot. However, I realized the image is not scaled with the plots (Should scale to the height of the adjacent plot subplot(222)). Please how do I scale the image to the plots? I tried assigning figure handles to the image plot (subplot(221)) with the hope that, I can access the width or height properties of that single plot but it did'nt work. Can someone please assist me? I have provided an example code below. Thanks
clc
close all
clear all
URL ='http://structures.wishartlab.com/molecules/HMDB00126/image.png';
filename = 'test.png';
urlwrite(URL,filename);
y = imread(filename, 'BackgroundColor', [1 1 1]);
subplot(221) % First subplot
imshow(y);
x = 0:0.2:4*pi;
subplot(222) % Second subplot
plot(x,sin(x))
subplot(223)% Third subplot
plot(x,cos(x))
subplot(224) % fourth subplot
plot(x,tan(x))
Answers (2)
Image Analyst
on 18 Jan 2018
You can set the 'Position' property of the subplots to adjust the image size if you don't like the default size it is picking.
Walter Roberson
on 19 Jan 2018
Use image() instead of imshow(). imshow changes a number of properties. In my experience, imshow can seldom be used safely in a gui for anything other than roughly display of images when you do not care much about the size, and you are not plotting anything else in the same axes, and you have no interactive components.
0 Comments
See Also
Categories
Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!