plot csv with column names used automatically as x and y label
52 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Igenyar
il 20 Nov 2024 alle 22:48
Commentato: Walter Roberson
il 21 Nov 2024 alle 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 Commenti
Risposta accettata
Walter Roberson
il 20 Nov 2024 alle 23:01
Modificato: Walter Roberson
il 20 Nov 2024 alle 23:02
data = readtable("results.csv","TextType","string");
plot(data, data.Properties.VariableNames(1), data.Properties.VariableNames(2));
5 Commenti
Walter Roberson
il 21 Nov 2024 alle 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});
Più risposte (1)
Rahul
il 21 Nov 2024 alle 8:36
Modificato: Rahul
il 21 Nov 2024 alle 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 Commenti
Walter Roberson
il 21 Nov 2024 alle 19:14
plot(data.DateTime, data.Number);
That assumes column labels, but the premise of the question was that the column labels are variable.
Vedere anche
Categorie
Scopri di più su Log Plots in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!