Dear All Here is the responses. The sections are: 1. The query asked 2. Summary of answers 3. Responses in full with suggested packages. 4. Response from J.Warner that is of interest. 1. Query --------- This is a satisfy my curiosity. Does anyone know of a statistical, mathematical or graphical package that will draw a true histogram without major programming? I know SPSS, Excel, Minitab and other do a histogram by dividing the data range into equal length segments and then drawing a barchart with the frequency of each segment along y Axis. I am not looking for this. I am looking for something that will, without the cludge above, plot a graph where the area of the segment is proportional to the frequency within the segment. That is you do not need to have the segments range equal in each case. I have once needed to do this. At the time I looked at Sigmaplot, asked a colleague about Matlab and tried in SPlus. In the end I did a cludge in Excel. I would guess that I could programme SPlus to do the same cludge. That is to trace the outline of the graph via a line graph but anyone come across anything sensible. --- 2. Summary of responses ------------------------------------- Firstly as pointed out by Denise Howell and Paul Taylor Minitab does this. I have tried it out and got it to work. The trick is to choose density and then specify the cut points. Secondly SPlus looks as if it does this from menus. I have failed to get it to do this but that my be me misunderstanding the dialogue. Love it for programming but I find the dialogues tricky. Thirdly there are Genstat and Statsdirect which people said were capable of doing this but I do not have access to them to check. Finally there are user written routines in Stata for doing this. As indeed there are is Splus and R. Jay Warners email is added as it takes the debate further. Thanks to everyone who answered. Jean Russell --Full responses by package. Genstat -- Sue Welham GenStat will do this for you. By default, bin widths are equal so this is not an issue. However, if you specify your own limits for the histogram bars, the heights will be scaled accordingly. In this case the y-axis no longer represents frequency directly, but you have control over it's scaling factor. There is also an option to produce a barchart if you prefer this representation of the data. There are some circumstances where this is required. For further details see http://www.vsn-intl.com/genstat/index.htm where you can download a free demo copy. ---Kevin McConway The pachage R will do it. So will GenStat. --- Minitab --- Dialogue with Denise Howell Denise: MINITAB will draw a 'proper' histogram if you choose 'Density' under the Histogram Options choices. Jean: Sorry I checked this and it is not. They are still using the cludge described for SPSS. I set it skewed data and I got what I would get from SPSS. The requirement is that the width of the bars is not always the same. I should have a very low long bar at the end. Instead I had a disconnected column the same width as the others more central to the data. Denise: It's worked before for me. I don't know how your data is entered. But you can specify the bar- widths by the providing 'mid-point/cutpoint' positions in the Definition of intervals Histogram Option. --- Paul Taylor minitab will draw true histograms - check the options. So will Splus (or R) Stata ---Nick Cox You can do this within Stata with a -barplot- program written by a user (me) which is in the public domain. You must specify heights, widths and midpoints of bars. I should add that it would be easy to write a much smarter program in Stata to do it automatically given data and a list of cutpoints. But I have never yet wanted to do it, even once. And your question is, I think, about existing solutions, and you are not seeking "in principle this is trivial ..." answers. ---Paul Seed Stata has a free user-written command -hist3- that achieves exactly this. If you have Stata version 7.0, the command -findit histogram- will turn it up, along with some 20 other versions on histograms & bar charts, anmd it can be downloaded immeidately. A command such as hist3 mpg , xlab(10(10)50) ylab(0(.02).1) values(10(2)30 30(5)50) will give a histogram of a single variable (here mpg) with bars of width 3 up to 30 and 5 beyond. In contrast, hist3 mpg , xlab(10(10)50) ylab(0(.02).1) values(10(2)30) puts all the values above 30 into a single bar, ending at the last value. One of the good things about Stata is that there are so many user- written commands available that for any straightforward request, that is not covered by the main there is almost certainly a command to do it. --- Splus & R ---Paul Hewson Modern Applied Statistics using S Plus (Venable and Ripley 1999) has some stuff on this, and there is associated software (truehist function). Is this what you are looking for? --- Paul Taylor minitab will draw true histograms - check the options. So will Splus (or R) ---Kevin McConway The pachage R will do it. So will GenStat. StatsDirect --- Iain Buchan See the Graphics menu in StatsDirect. Free 10 day trial can be installed from http://www.statsdirect.com/update.htm 4.Response from Jay Warner that is of interest. Aside from the fact that Tufte (Edward R. Tufte, The Visual Display of Quantitative Information, Graphics Press, Box 430, Cheshire, CN 06410 1983 ) cautions against the form of histogram that I think you are looking for, I'd suggest examination of DeltaGraph. Tufte says width of the bars should be proportional to the width of the range, which is what you are looking for, I gather. He also says, that uniform range widths is better as a general rule. What he really dislikes is the people who use uniform bar widths, with non uniform range widths, and you are avoiding that in any case. ------------------------------------------------------ Jean M. Russell M.A. M.Sc. [log in to unmask] Corporate Information & Computing Services, University of Sheffield 285 Glossop Road Sheffield S10 2HB United Kingdom Phone: 0114-222-3098 Fax : 0114-222-3040