how to import data from csv and plot?

234 Ansichten (letzte 30 Tage)
Ani Asoyan
Ani Asoyan am 9 Nov. 2022
Kommentiert: Ani Asoyan am 9 Nov. 2022
Hi everyone!
I want to import excel dataset (csv file) to matlab and plot.
The first column includes string variables like "2022Q1" , "2022Q2", etc.
The second column is regular data. How can I import that csv and plot 2nd column with respect to 1st column (so the strings be the horizontal axis).
I've tried something like this but doesn't work.
[Array, str, raw]=xlsread('baseline.csv');
Error using xlsread
Unable to open file 'baseline.csv'.
File '/users/mss.system.fjCCc6/baseline.csv' not found.
y= Array(:, 2);
x= Array (:, 1);
plot(x,y)
I'm attaching excel file also.
Thank you

Akzeptierte Antwort

Arif Hoq
Arif Hoq am 9 Nov. 2022
A=readtable('baseline.csv','VariableNamingRule','preserve');
xaxis=table2array(A(:,1));
datavalue=table2array(A(:,2));
C=categorical(xaxis);
plot(C,datavalue)
xtickangle(90)
  3 Kommentare
Arif Hoq
Arif Hoq am 9 Nov. 2022
just use this syntax
datavalue=A.d_qoil_t;
Ani Asoyan
Ani Asoyan am 9 Nov. 2022
thank you so much !

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

KSSV
KSSV am 9 Nov. 2022
T=readtable('https://in.mathworks.com/matlabcentral/answers/uploaded_files/1186578/baseline.csv');
Warning: Column headers from the file were modified to make them valid MATLAB identifiers before creating variable names for the table. The original column headers are saved in the VariableDescriptions property.
Set 'VariableNamingRule' to 'preserve' to use the original column headers as table variable names.
X=T.(1);
Y=T.(2);
plot(Y)
  1 Kommentar
Ani Asoyan
Ani Asoyan am 9 Nov. 2022
Thank you for the answer. However I would like to put the string data in the horizontal axis, so it appears 2022Q1, 2022Q2 instead of numbers. Also, did you change the column headers in the excel file?

Melden Sie sich an, um zu kommentieren.


Kalpesh Bagmar
Kalpesh Bagmar am 9 Nov. 2022
Hello Ani,
May be you can try following code snippet
[a]=readcell('baseline.csv')
a=a(4:end,:) % removing unwanted headings from data
b = cell2mat(a(:,2))
c = a(:,1)
bar(b)
set(gca,'xticklabel',c)
  1 Kommentar
Ani Asoyan
Ani Asoyan am 9 Nov. 2022
Thank you for your answer! I already accepted the prevous answer, but will also try your method. Thanks

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Data Import from MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by