plot csv with column names used automatically as x and y label
42 views (last 30 days)
Show older comments
Igenyar
ungefär 18 timmar ago
Commented: Igenyar
ungefär en timme ago
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 Comments
Accepted Answer
Walter Roberson
ungefär 18 timmar ago
Edited: Walter Roberson
ungefär 18 timmar ago
data = readtable("results.csv","TextType","string");
plot(data, data.Properties.VariableNames(1), data.Properties.VariableNames(2));
5 Comments
Walter Roberson
ungefär 13 timmar ago
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});
More Answers (1)
Rahul
ungefär 8 timmar ago
Edited: Rahul
ungefär 8 timmar ago
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!
See Also
Categories
Find more on Log Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!