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 个评论

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.

请先登录,再进行评论。

 采纳的回答

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 个评论

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

请先登录,再进行评论。

更多回答(0 个)

类别

标签

Community Treasure Hunt

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

Start Hunting!

Translated by