贴标轴。 从Excel转换。 将数据转换为string

你将如何绘制A和B图,其中A和B是Excel中的列,例如

A Red Green Blue 

 B 1:00 AM 2:00 AM 3:00 AM 

为3 * 3图我使用

 set(gca,'XTick',1:3); set(gca,'XTickLabel',{'Red','Green','Blue'}); set(gca,'YTick',1:3); set(gca,'YTickLabel',{'1:00 AM','2:00 AM','3:00 AM'}); 

但是,手动input1000 * 1000将是一团糟。

所以我的问题是: 如何将红绿蓝从A列转换为{'Red','Green','Blue'} (为了在set(gca,'XTickLabel'...)使用它们set(gca,'XTickLabel'...)

我试过使用

  color = xlsread(fileName, 'A1:A3'); 

但它没有将数据转换成正确的格式。

任何帮助表示赞赏。

xlsread第二个输出参数包含文本数据。 第一个只包含数字:

 >> [nums,colors,raw] = xlsread('colorData.xlsx','A1:A3'); >> colors colors = 'Red' 'Green' 'Blue' 

更新:由xlsread读取的xlsread是Excel的序列date格式(数字表示)。 可以使用datestr将它们转换为一个string。

 >> nums nums = 0.0417 0.0833 0.1250 >> datestr(nums) ans = 1:00 AM 2:00 AM 3:00 AM 

这些实际上是date, 1900年1月1日为零 。 所以,只是给一点时间,这个数字假设这一天。 但是,MATLAB使用Jan-1-0000,所以如果你有date和时间,使用datestr(t + datenum('30-Dec-1899'))来转换它们,其中t是序列date数字。