How to plot a text data column from an excel file in MATLAB?

6 次查看(过去 30 天)
Hello, I have imported in Matlab an excel file that contains two columns, one with numeric values, and the other one with text values. The first 5 rows can be seen below:
ABF-E 0.34
HJK-D -0.54
GHKL-I 1.34
FPLO-5 2.3
KKJLL-T 0.98
I need to plot the numeric column on the Y axis and the text column on the X axis. I can easily work with the numeric column using xlsread and plot, but I can not manage plotting the text column. How could I do it?.
I have written the following code, but I don't know what to do for the x Axis:
filename = 'MyData.xlsx';
Sheet = 2
xlRange = 'B1:B60';
Yaxis = xlsread (filename,Sheet,xlRange);
Xaxis = ????????;
plot(xAxis,Yaxis)
I would be very grateful if somebody could help me.
  2 个评论
Sarah
Sarah 2013-12-6
I'm trying to build a line graph, where the values of the first column of my excel file, which contains text values, should represent the X axis of my graph. And the second column of my excel file, should represent the Y axis. I can easily create graphs when the values of the excel file are of numeric values, but I can't manage plotting text values against numeric values.

请先登录,再进行评论。

回答(2 个)

sixwwwwww
sixwwwwww 2013-12-6
you can do it as follows:
[num, txt, raw] = xlsread('filename.xlsx', 1);
plot(num)
set(gca,'Xtick',1:numel(num),'XTickLabel',txt)
The last line of the code set the labels for data given in first column of your excel sheet
  4 个评论
Sarah
Sarah 2013-12-6
Hello sixwwwwww, thanks for your answer. That works for the Xaxis, but where in the code could I put my Yaxis variable so that the Xaxis values are plotted against the Yaxis values?.
sixwwwwww
sixwwwwww 2013-12-6
here is the code for plotting both x and y values on x-axis and y-axis respectively:
[num, txt, raw] = xlsread('filename.xlsx', 1);
plot(num)
num = sort(num);
for i = 1:numel(num)
NumCell(i) = {num2str(num(i))};
end
set(gca,'Xtick',1:numel(num),'XTickLabel',txt, 'Ytick', num,'YTickLabel',NumCell)

请先登录,再进行评论。


Azzi Abdelmalek
Azzi Abdelmalek 2013-12-6
Thre is no x-axis data in your Excell file
Yaxis = xlsread (filename,Sheet);
plot(Yaxis)
  5 个评论
Sarah
Sarah 2013-12-7
yes, I have attached an image of what I'm trying to manage. I have done it in excel but I'm trying to do the same in Matlab. In the image, the graph is designed with just 5 text values on the X-axis, but I have 60 like that in my excel file.

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by