plot csv with column names used automatically as x and y label
53 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Igenyar
el 20 de Nov. de 2024 a las 22:48
Comentada: Walter Roberson
el 21 de Nov. de 2024 a las 19:14
This is the data.
DateTime,Number
2024-11-18 03:37:01,0
2024-11-18 03:38:01,0
2024-11-18 03:39:01,200
2024-11-18 03:40:01,400
2024-11-18 03:41:01,600
2024-11-18 03:42:01,600
2024-11-18 03:43:01,800
2024-11-18 03:44:01,1000
2024-11-18 03:45:01,1200
This is the script.
data = readtable("results.csv","TextType","string");
plot(data.DateTime, data.Number);
I want to use DateTime for xlabel and Number for ylabel automatically.
0 comentarios
Respuesta aceptada
Walter Roberson
el 20 de Nov. de 2024 a las 23:01
Editada: Walter Roberson
el 20 de Nov. de 2024 a las 23:02
data = readtable("results.csv","TextType","string");
plot(data, data.Properties.VariableNames(1), data.Properties.VariableNames(2));
5 comentarios
Walter Roberson
el 21 de Nov. de 2024 a las 3:49
Sigh, you should have mentioned earlier that you were using an old release.
data = readtable("results.csv","TextType","string");
plot(data{:,1}, data{:,2});
xlabel(data.Properties.VariableNames{1});
ylabel(data.Properties.VariableNames{2});
Más respuestas (1)
Rahul
el 21 de Nov. de 2024 a las 8:36
Editada: Rahul
el 21 de Nov. de 2024 a las 8:40
Hi Igenyar,
I believe you want to plot the two columns ‘DateTime’ and ‘Number’ of the given csv file ‘results.csv’, while using ‘DateTime’ for ‘xlabel’ and ‘Number’ for ‘ylabel’ respectively in a plot.
Based on the sample data provided, I am able to reproduce this issue on MATLAB R2024b, and the given script provides the expected plots.
I used the given sample table for creating a local csv file, in order to verify the provided script. The axes labels have been specified as variables names in data file ‘results.csv’. Here’s how the output looks like:
- Generating sample csv file:
% Define the data
DateTime = {'2024-11-18 03:37:01'; '2024-11-18 03:38:01'; '2024-11-18 03:39:01';
'2024-11-18 03:40:01'; '2024-11-18 03:41:01'; '2024-11-18 03:42:01';
'2024-11-18 03:43:01'; '2024-11-18 03:44:01'; '2024-11-18 03:45:01'};
Number = [0; 0; 200; 400; 600; 600; 800; 1000; 1200];
% Convert DateTime strings to datetime objects
DateTime = datetime(DateTime, 'InputFormat', 'yyyy-MM-dd HH:mm:ss');
% Create the table
dataTable = table(DateTime, Number);
% Write the table to a CSV file
writetable(dataTable, 'data.csv');
- Plotting column data on appropriate axes:
data = readtable("data.csv","TextType","string");
plot(data.DateTime, data.Number);
xlabel(data.Properties.VariableNames{2});
ylabel(data.Properties.VariableNames{1});
To know more about the usage of ‘plot’ function, you can use the following command in MATLAB:
>> doc plot
Regards!
2 comentarios
Walter Roberson
el 21 de Nov. de 2024 a las 19:14
plot(data.DateTime, data.Number);
That assumes column labels, but the premise of the question was that the column labels are variable.
Ver también
Categorías
Más información sobre Log 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!