how can i draw contourf plot

1 次查看(过去 30 天)
윤혁
윤혁 2024-9-14
评论: Angelo Yeo 2024-9-14
I'm going to make a plot like this picture.
I interpolated the data using the interp1 function. However, contourf can only contain values of 2*2 or more, so the function cannot be executed. How do I solve this?
  1 个评论
Angelo Yeo
Angelo Yeo 2024-9-14
Can you share your data and script that you have tried with so far?

请先登录,再进行评论。

回答(1 个)

Ayush
Ayush 2024-9-14
Hi 윤혁
If your data is too sparse, consider increasing the number of points used in interpolation. You can do this by defining a finer grid for interpolation. Here is the sample code for this technique:
% Sample data
x = 1:10;
y = sin(x);
% Define a finer grid for interpolation
xq = 1:0.1:10;
% Interpolate the data
yq = interp1(x, y, xq, 'spline');
% Create a meshgrid for contour plot
[X, Y] = meshgrid(xq, xq);
Z = sin(X) .* cos(Y); % Example function for Z values
% Ensure Z has dimensions 2x2 or more
if min(size(Z)) < 2
error('Z must be at least 2x2 in size');
end
% Create contour plot
contourf(X, Y, Z);
colorbar;
title('Interpolated Contour Plot');
xlabel('X-axis');
ylabel('Y-axis');
I hope this was helpful.

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

产品


版本

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by