Clear Filters
Clear Filters

X labeling from file

2 views (last 30 days)
Micah
Micah on 9 Sep 2011
I have a file formatted as follows:
a c g g t c c a
I want to use those characters as labels for a plot. I understand you can use set(gca,'XTickLabel',{var}) to set the axis, but I can't seem to import the data in a way that it can be read. I have tried textread, textscan, csvread (putting commas after ever character), and straight importdata. I can get a 1xn array consisting of those characters, but I can't use them as labels. Error message is:
??? Error using ==> set
Cell array of strings may only contain string and numeric matrices
Any advice?
Thanks

Accepted Answer

Micah
Micah on 9 Sep 2011
I got it to work using the following:
bars = [0,0,985,62,...] (the data)
num = [1, 2, 3, 4,...] (just integers increasing)
seq = [a,f,c,f,...] (the labels)
plot(bars)
set(gca,'XTick',[num])
set(gca, 'XTickLabel', seq)

More Answers (1)

Walter Roberson
Walter Roberson on 9 Sep 2011
labs = textscan(fid, '%s');
set(gca, 'XTickLabel', labs);
  2 Comments
Micah
Micah on 9 Sep 2011
That doesn't seem to work. I typed
>> fid = fopen('x.txt');
>> labs = textscan(fid, '%s');
>> set(gca,'XTickLabel',{labs})
??? Error using ==> set
Cell array of strings may only contain string and numeric matrices
Micah
Micah on 9 Sep 2011
also tried
>> fid = fopen('x.txt');
>> labs = textscan(fid, '%s');
>> set(gca, 'XTickLabel', labs)
(using no braces)

Sign in to comment.

Categories

Find more on Data Import and Analysis in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!