MATLAB Answers


pchip plot in relation to y axis

Asked by Electric Sheep on 30 Apr 2018
Latest activity Edited by Electric Sheep on 3 May 2018
I'm trying to plot a curve using pchip but it is filling data points in the wrong direction.
x = Tempdif;
y = Pres;
xq = linspace(-1.5, 2, 200);
pp = pchip(x, y);
yq = ppval(p, xq);
plot(xq, yq, '-r',x, y, 'ob' )
This is what I want it to look like but smooth
This is what I'm getting
How can I get the red line to be processed horizontally instead of vertically?
UPDATE: Trying the answer by John D'Errico the values on the axes have been flipped


Sign in to comment.


1 Answer

Answer by John D'Errico
on 30 Apr 2018
Edited by John D'Errico
on 30 Apr 2018

You are fitting the function in the WRONG direction. This NOT a problem of fitting pressure as a function of temp difference. There is no functional relationship there.
The relationship that you have seems to be of the form tempdif(pressure). Thus as pressure changes, the temperature difference changes dependently.
But fine, you can still plot it with the variables on the axes you have chosen.
y = Tempdif;
x = Pres;
xq = linspace(min(x), max(x), 200);
pp = pchip(x, y);
yq = ppval(pp, xq);
plot(yq, xq, '-r',y, x, 'ob' )
xlabel 'Temperature difference (C)'
ylabel 'Pressure (nPa)'
You did make a good choice to use pchip instead of spline.

  1 Comment

Thanks that's got the red line going in the right direction but somehow is flipping the axes for the data points. It's a plot of atmospheric temperature bias so I'm using the pressure as a representation of height.

Sign in to comment.