Adding scatter points to a contour plot

34 vues (au cours des 30 derniers jours)
Hussein Kokash
Hussein Kokash le 3 Fév 2023
Hello,
I have the following plot code:
% Plot the RMS velocity contour
contourf(X, Y, rms_velocity_U);
colorbar;
xlabel('X');
ylabel('Y');
title(sprintf('RMS Velocity Contour at t=%f', time(i)));
This plot plots the rms velocity values in a plane x,y.
X, Y, and rms_velocity_U are 67*67 matrices.
At each x position, I want to find the highest "rms_velocity_U" value, in total would be 67 values and I want to add them to the plot below as a scatter points.
Any way to calculate the value and position of these point and add them to the plot?
Thanks

Réponses (1)

Star Strider
Star Strider le 3 Fév 2023
‘Highest’ usually implies one value, not 67, and without your data (the (67x67) matrix) and understanding what the ‘highest 67 values’ means, plotting them is not possible.
That aside, marking the highest 5 values in a contourf plot is straightforward —
[X,Y,Z] = peaks(50);
[Zmax,idx] = maxk(Z(:),5)
Zmax = 5×1
8.0436 8.0223 8.0012 7.9869 7.8209
idx = 5×1
1238 1288 1239 1289 1188
figure
contourf(X, Y, Z, 20)
colormap(turbo)
hold on
plot(X(idx), Y(idx), 'pg', 'MarkerSize',10, 'MarkerFaceColor','g')
hold off
xlabel('X')
ylabel('Y')
See the documentation on maxk (introduced in R2017b) for details.
Use a similar approach with your data.
.

Catégories

En savoir plus sur Scatter Plots dans Help Center et File Exchange

Produits


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by