Borrar filtros
Borrar filtros

how can I plot multiple y values for single x value?

113 visualizaciones (últimos 30 días)
Francesca Accetta
Francesca Accetta el 21 de Feb. de 2018
Comentada: Setsuna Yuuki. el 2 de Dic. de 2020
I have to plot multiple y values for single x value, but in the plot all the values related to x=x1 appears on the same column. The relative y values are related to the same day (x) but to subsequent times. I would like to plot y values related to the same x in different columns just labeling the first value of x. It is possible? Thank you The graph that i found is the following but i don't know how to solve the problem.
  3 comentarios
KALYAN ACHARJYA
KALYAN ACHARJYA el 2 de Dic. de 2020
Editada: KALYAN ACHARJYA el 2 de Dic. de 2020
@Chaman can you more specific please? To plot the data, the lengths of x and y must be the same. If we consider the same x value for all the corresponding y data, the result will be a vertical line (parallel to the y-axis).
Chaman Srivastava
Chaman Srivastava el 2 de Dic. de 2020
@kalyan acharjya Yes indeed it will be a straight line. But my goal is to obtain a regression curve with confidence interval, something like what is shown in the curve attached.
Any leads for this? Thanks

Iniciar sesión para comentar.

Respuestas (1)

Setsuna Yuuki.
Setsuna Yuuki. el 2 de Dic. de 2020
you can try creating a vector of ones and multiplying this by your x values, for example:
y = rand(1,15);
xvalue = 3;
x = xvalue*ones(1,length(y));
scatter(x,y,'LineWidth',3);
  3 comentarios
Chaman Srivastava
Chaman Srivastava el 2 de Dic. de 2020
Hey Bastian,
Thank you the piece of code. I have tried something like this but plotting a regression using polyfit isn't working. Any leads on that?
Setsuna Yuuki.
Setsuna Yuuki. el 2 de Dic. de 2020
I tried it this way
clearvars;
x = linspace(0,30);
i = 0; j = 1;
comp = 1:3:length(x);
vectorx = zeros(1,length(x));
%Vector with three same x values
for n = 1:length(x)
vectorx(n) = i;
if(n == comp(j))
i = i+1;
j = j+1;
end
end
x = vectorx;
%Random data
y = 0.2+rand(1,length(vectorx));
p = polyfit(x,y,1);
f = polyval(p,x);
figure
plot(x,y,'o',x,f,'-','LineWidth',3)
legend('data','linear fit')
grid on;

Iniciar sesión para comentar.

Categorías

Más información sobre Financial Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by