Superimpose a curve on a a image generated by 'imagesc' command, I need to keep two different Y-axis.

2 vues (au cours des 30 derniers jours)
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 ......

Réponses (1)

Raghava S N
Raghava S N le 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');

Catégories

En savoir plus sur Image Filtering and Enhancement dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by