Plot X, Y, Z axes with respect to time
40 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Navin Johnson
el 20 de Mzo. de 2022
Comentada: Voss
el 21 de Mzo. de 2022
So I have a file which contains the accelerometer values of a phone. The CSV file contains time, x, y and z columns. I am trying to find a way to plot the 3 axes (x, y and z) vs. time into one graph rather than using 'stackedplot'. How would one go about this?
0 comentarios
Respuesta aceptada
Voss
el 20 de Mzo. de 2022
% making up some data:
t = 0:0.01:10;
x = cos(t);
y = sin(t);
z = t;
% plot x,y,z vs t in one plot:
figure();
plot(t,x,t,y,t,z);
legend('x','y','z');
xlabel('t');
grid on
% or make a 3d line whose points are (x,y,z):
figure();
plot3(x,y,z);
xlabel('x');
ylabel('y');
zlabel('z');
box on
grid on
8 comentarios
Más respuestas (1)
VBBV
el 20 de Mzo. de 2022
Editada: VBBV
el 20 de Mzo. de 2022
x_back_accel = cell2mat(backside_accel(:,1));
y_back_accel = cell2mat(backside_accel(:,2));
z_back_accel = cell2mat(backside_accel(:,3));
plot(t,x_back_accel,t,y_back_accel,t,z_back_accel);
Convert them to double array and plot it.
5 comentarios
VBBV
el 21 de Mzo. de 2022
Editada: VBBV
el 21 de Mzo. de 2022
You can use readmatrix function instead of readtable when importing data and to plot them using your initial code without having to use cell2mat
backside_accel = readmatrix('Lab5-Phone-BackSide/accelerometer.csv');
t = 0:0.1:4;
x_back_accel = backside_accel(:,1);
y_back_accel = backside_accel(:,2);
z_back_accel = backside_accel(:,3);
figure()
plot(t,x_back_accel,t,y_back_accel,t,z_back_accel);
Ver también
Categorías
Más información sobre Line Plots 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!