MATLAB Answers

pchip plot in relation to y axis

2 views (last 30 days)
Electric Sheep
Electric Sheep on 30 Apr 2018
Edited: 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

Answers (1)

John D'Errico
John D'Errico on 30 Apr 2018
Edited: 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
Electric Sheep
Electric Sheep on 3 May 2018
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.


Community Treasure Hunt

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

Start Hunting!