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

19 Ansichten (letzte 30 Tage)
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!

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 4 Mär. 2020
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 Kommentare
Walter Roberson
Walter Roberson am 6 Mär. 2020
Then use scatteredInterpolant instead of griddedInterpolant.
Attskij Sotona
Attskij Sotona am 7 Mär. 2020
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!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Colormaps finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by