Adding scatter points to a contour plot

조회 수: 30 (최근 30일)
Hussein Kokash
Hussein Kokash 2023년 2월 3일
답변: Star Strider 2023년 2월 3일
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

답변 (1개)

Star Strider
Star Strider 2023년 2월 3일
‘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.
.

카테고리

Help CenterFile Exchange에서 Contour Plots에 대해 자세히 알아보기

제품


릴리스

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by