plot using with characters which are cell and numeric data.

9 views (last 30 days)
data=[1;2;3;4;5;6];
ids={'12.1a';'1.2b';'1.3c';'1.4d';'1.7e';'1.8f'}
%I wanna plot the data and ids like, plot(ids,data,'b') but Conversion to double from cell is not possible error occurs.
%How I can handle this cellarray for plot?

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 25 Dec 2014
Edited: Azzi Abdelmalek on 25 Dec 2014
data=[1;2;3;4;5;6]
ids={'12.1a';'1.2b';'1.3c';'1.4d';'1.7e';'1.8f'}
plot(data,'b')
set(gca,'XTick',1:numel(ids))
set(gca,'XTickLabel',ids)
  4 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 25 Dec 2014
If you have the latest version of Matlab add this
h=gca,
h. XTickLabelRotation=90
If not, reduce the number of ticks
ids={'12.1a';'1.2b';'1.3c';'1.4d';'1.7e';'1.8f'}
data=1:24
ids=repmat({'12.1a';'1.2b';'1.3c';'1.4d';'1.7e';'1.8f'},4,1)
plot(data,'b')
NumTick=8 % number of ticks
xticks=linspace(1,numel(data),NumTick)
set(gca,'XTick',xticks)
set(gca,'XTickLabel',ids)
sermet
sermet on 25 Dec 2014
I downloaded Rotate Tick Label and applied it. It worked well but I'm still having difficulty for scale. Hunderds of ids seem very close. Can I seperate them a little bit to reading more easily?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!