legend pie chart

Hi i'm new to matlab and i have a question. for example if i have a vector with some ascii numbers, like
x=[65 65 67 68 68 68 68]
and i then want to draw a pie chart with the most frequent letter.
x=[65 65 67 68 68 68 68]
char(x)
y=unique(x)
counts=histc(x,y)
pie(counts,cellstr(num2str(counts(:))))
but my problem is that i want to have a legend witch will say what letter the different coulors represents, is that possible?

1 comentario

the cyclist
the cyclist el 19 de En. de 2012
Really an aside to your question, but you would probably want to use hist() rather than hist(), because you are specifying the bins, not the edges between the bins.
Also, I would recommend against a pie chart here. A bar chart will most likely allow the consumer to better judge the relative letter frequency.

Iniciar sesión para comentar.

 Respuesta aceptada

Sean de Wolski
Sean de Wolski el 19 de En. de 2012

0 votos

Like this?
x=[65 65 67 68 68 68 68];
y=unique(x);
counts=histc(x,y);
pie(counts,cellstr(char((y')))')
Note transpose for num2str()

11 comentarios

the cyclist
the cyclist el 19 de En. de 2012
Guessing maybe you want char(y) in the last line:
pie(counts,cellstr(num2str(char(y)'))')
franz
franz el 19 de En. de 2012
yes, exactly but I want to put up a legend that shows what letter the pie slices represents. like (68 would represent the letter D etc..)
Sean de Wolski
Sean de Wolski el 19 de En. de 2012
pie(counts,cellstr(char((y')))')
franz
franz el 19 de En. de 2012
So i still want the pie chart to say that it's 4x the number 68, but maybe have something in the corner of the chart that shows what the represent
franz
franz el 19 de En. de 2012
pie(counts,cellstr(char((y')))')
that would work with this example , but what if i have slices that are very close to each other then i would like to tell them apart and know how many numbers the slice represent. that's why I would like to have something that's outside of the pie in the corner of something
franz
franz el 19 de En. de 2012
or*
franz
franz el 19 de En. de 2012
Do you understand what I mean?
Sean de Wolski
Sean de Wolski el 19 de En. de 2012
like a legend? I'm liking cyclist's bar idea.
franz
franz el 19 de En. de 2012
yes, a legend exactly :P
Sean de Wolski
Sean de Wolski el 19 de En. de 2012
legend(cellstr(char((y')))')
franz
franz el 19 de En. de 2012
Yes that worked thanks!

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Preguntada:

el 19 de En. de 2012

Community Treasure Hunt

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

Start Hunting!

Translated by