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 Commento

the cyclist
the cyclist il 19 Gen 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.

Accedi per commentare.

 Risposta accettata

Sean de Wolski
Sean de Wolski il 19 Gen 2012

0 voti

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 Commenti

the cyclist
the cyclist il 19 Gen 2012
Guessing maybe you want char(y) in the last line:
pie(counts,cellstr(num2str(char(y)'))')
franz
franz il 19 Gen 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 il 19 Gen 2012
pie(counts,cellstr(char((y')))')
franz
franz il 19 Gen 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 il 19 Gen 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 il 19 Gen 2012
or*
franz
franz il 19 Gen 2012
Do you understand what I mean?
Sean de Wolski
Sean de Wolski il 19 Gen 2012
like a legend? I'm liking cyclist's bar idea.
franz
franz il 19 Gen 2012
yes, a legend exactly :P
Sean de Wolski
Sean de Wolski il 19 Gen 2012
legend(cellstr(char((y')))')
franz
franz il 19 Gen 2012
Yes that worked thanks!

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by