Plot graph with different labels

Hi,
I have a data set
y = [10,15,23];
x = {'jan','feb','mar'};
but obviously you cant plot Strings so i made a third array:
z=[1,2,3];
to represent the Strings. I would like to plot(z,y) but with x as the labels on the x axis (i dont want to see the numbers 1,2,3), how is this possible?
Also if I had 100 data points, how would i make it so only a few of the labels will be shown? thanks

 Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 27 Sep 2013
Edited: Azzi Abdelmalek on 27 Sep 2013
y = [10,15,23];
x = {'jan','feb','mar'};
z=[1,2,3];
plot(z,y)
set(gca,'xtick',z,'xticklabel',x)

3 Comments

This is brilliant. Could you tell me how to make it so only a few labels show? i have 7000 elements in my x,y and z arrays so i'm just getting a black block for the label because of how close they are together
Look at this example
y= [10,15,23 14 5 2 7 45 2];
x = {'jan','feb','mar' 'avr' 'mai' 'jun' 'jui' 'aou' 'sep' };
z=1:numel(y)
plot(z,y)
idxi=round(linspace(1,numel(z),5))
set(gca,'xtick',z(idxi),'xticklabel',x(idxi))
Perfect! I dont suppose theres anyway to make this update with zooming in on the plot too?

Sign in to comment.

More Answers (0)

Products

Asked:

on 27 Sep 2013

Commented:

on 27 Sep 2013

Community Treasure Hunt

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

Start Hunting!