MATLAB Plotting Histograms in MATLAB - x-axis Labels Aligned with Tick Marks

AI Thread Summary
The discussion focuses on how to plot a histogram in MATLAB with x-axis labels aligned with tick marks rather than centered under the bars. The user expresses frustration with the histc() function and seeks a method to achieve the desired presentation style, where tick marks represent the bin edges clearly. They emphasize the importance of clarity in plots, questioning why standard practices often lead to ambiguity regarding interval representation. A workaround using Excel is mentioned, with plans to share a guide on the process. The conversation highlights a need for better solutions in MATLAB for clear histogram visualization.
Saladsamurai
Messages
3,009
Reaction score
7
I am having some trouble deciphering how to plot a histogram in MATLAB. My main problem is that I want the x-axis labels to line up with the tick marks. I do NOT want the labels centered and under the bars themselves.

I have been looking into the histc() function http://www.mathworks.com/access/helpdesk/help/techdoc/ref/hist.html", but have not figured out how to make it plot properly (with bin-edge labels under tick marks).

Anyone know how to do this?
 
Last edited by a moderator:
Physics news on Phys.org
Is there any particular reason why you want to offset the tick marks in this way?
 
Hi shoehorn. Yes. That is how I think it should be presented :)
If 10 values fall between 20 and 25, then 20 should be the left mark and 25 should be the right mark and the column should rise up between the 2.

Like http://www.treeplan.com/BetterHistogram_20041117_1555.htm" except that I tried this procedure and it does not work reliably every time.

I don't know; I guess I must be insane. I have been looking online for hours. I am surprised that nobody else think that they should be plotted like this. I just checked my textbook's solution manual too and they draw them with the bin values centered under the bar. But that is ambiguous to me. Does that value represent the max or min of the interval? And why should one have to go looking for the interval size? Why should they have to calculate it? These are rhetorical questions of course... I just think that Plots should be crystal clear so the average bear can read them.
 
Last edited by a moderator:
Can anyone confirm if this is even possible? Thanks!
 
I did it in Excel for anyone who cares. It was a PITA, but worth it I think. I will post a guide on how to do it once I complete it.

MyHistogram.jpg
 
hi...
histogram program will be there which i used...please try it
i=imread(image path);
[r,c]=size(i);
val=0:255;
scale=0:255;
for x=1:r
for y=1:c
val(i(x,y))=val(i(x,y))+1;
end
end
figure;
stem(scale,val);
 

Similar threads

Back
Top