histogram

2 views (last 30 days)
Hassan
Hassan on 30 Jun 2011
I have an array which want to plot its histogram. the range of values are from 0 to 7. I want to put a text for eahc x value. I am getting the following error message:
??? Error using ==> mtimes Integers can only be combined with integers of the same class, or scalar doubles.
Error in ==> hist at 78 xx = miny + binwidth*(0:x);)
  5 Comments
Drew Steen
Drew Steen on 1 Jul 2011
When I define array1 as
array1=rand(200,400);
I don't get an error - although the x-tick labels show up in a way that I don't think you want. There are 10 x bins by default, and you seem to have 7 categories.
Do you need to do this at the command line? If you can use PlotTools, that is an easier way to reset x tick labels
Hassan
Hassan on 1 Jul 2011
Hi Drew. I think Im getting this error because of the data type which is int8 (and not int16 as I mentioned above by mistake).
No actually I used bar() to do that but wondered if I can do that using hist() as well.

Sign in to comment.

Accepted Answer

the cyclist
the cyclist on 1 Jul 2011
Because your variable "array1" is of type int16, so is variable "LL." The hist() function doesn't seem to be able to manage type int16 input. (That's why you get the error.) You could try
>> hist(double(LL))
to get the histogram.
  2 Comments
Hassan
Hassan on 1 Jul 2011
yeah you are right. that fixed the error but the histogram I get as Drew mentioned above is based on 10 bins while I want only 7 bins. Maybe its better to use bar() instead.
the cyclist
the cyclist on 1 Jul 2011
Since you have not include your actual data, it is difficult to know which is better, but another option is to use the second argument of the hist() function to specify the exact bin locations, which I am guessing correspond to your 7 labels.

Sign in to comment.

More Answers (0)

Categories

Find more on Data Distribution Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!