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 Kommentar

the cyclist
the cyclist am 19 Jan. 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.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Sean de Wolski
Sean de Wolski am 19 Jan. 2012

0 Stimmen

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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by