Superimpose a curve on a a image generated by 'imagesc' command, I need to keep two different Y-axis.
2 views (last 30 days)
Show older comments
First, I have generated a image plot using the the command 'imagesc' with a data matrix 'A'. I have fixed the Y-axis limits (as it is needed).
Now I have to plot a curve (t) on the same image plot with same X-axis but different Y-axis scale.
Requirement is, the Y-axis corresponding to the image plot should be on left side and the Y-axis corresponding to the curve should be on right side.
>>imagesc(x,y,A); hold on; plot (x,t);
Please give suggestions how to handle axis in this case ?
Thank you ......
0 Comments
Answers (1)
Raghava S N
on 3 Oct 2024
Hi prasad,
To create plots with two y-axes, you can make use of the “yyaxis” function in MATLAB. Refer to this link for more information on the “yyaxis” function - https://www.mathworks.com/help/matlab/ref/yyaxis.html.
Use the following lines of code in your script to have the Y-axis corresponding to the image on the left side of the plot and the Y-axis corresponding to the curve on the right side of the plot –
imagesc(x, y, A);
hold on;
yyaxis left;
ylabel('Image Y-axis');
% Plot the curve with a different y-axis scale
yyaxis right;
plot(x, t)
ylabel('Curve Y-axis');
0 Comments
See Also
Categories
Find more on Image Filtering and Enhancement 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!