What is the best way to create pcolor plot in the case when 1d-arrays given?

14 次查看(过去 30 天)
Hello community. Could you provide an example for pcolor plot, if my dataset is described like this:
x=getSomeX(); % returns 1-by-n vector, in general just random doubles without any sequence
y=getSomeY(x); % returns 1-by-n vector
z=getSomeZ(x); % returns 1-by-n vector
where n is constant length, and i want to do something like this
pcolor(x,y,z);
but for me the problem is to make a correct n-by-n matrix z.
Thanks!

采纳的回答

Walter Roberson
Walter Roberson 2020-3-4
You cannot directly create pcolor plots in that situation. Instead see griddedInterpolant() https://www.mathworks.com/help/matlab/ref/griddedinterpolant.html or scatteredInterpolant() . Once you have the interpolated data, you can pcolor() that.
  3 个评论
Attskij Sotona
Attskij Sotona 2020-3-7
scatteredInterpolant is OK, found an example here
https://blogs.mathworks.com/graphics/2016/02/24/on-the-grid/
npts = 250;
rng default
x = 2*randn(npts,1);
y = 2*randn(npts,1);
v = sin(x) .* sin(y);
figure; scatter(x,y,36,v,'filled')
colorbar
xlim([-2*pi 2*pi])
ylim([-2*pi 2*pi])
[xg,yg] = meshgrid(linspace(-2*pi,2*pi,125));
F = scatteredInterpolant(x,y,v);
vg = F(xg,yg);
figure; pcolor(xg,yg,vg);
shading flat;
Thanks!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Colormaps 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by