Histogram
Histogram[{x1,x2,…}]
plots a histogram of the values xi.
Histogram[{x1,x2,…},bspec]
plots a histogram with bin width specification bspec.
Histogram[{x1,x2,…},bspec,hspec]
plots a histogram with bin heights computed according to the specification hspec.
Histogram[{data1,data2,…},…]
plots histograms for multiple datasets datai.
Details and Options
- Histogram[data] by default plots a histogram with equal bin widths chosen to approximate an assumed underlying smooth distribution of the values xi.
- Data values xi can be given in the following forms:
-
xia number Quantity[xi,unit]a number with a unit - Datasets datai have the following forms and interpretations:
-
{x1,x2,…}a list of values xi <|k1x1,k2x2,…|>the values xi from the association QuantityArraythe magnitudes TimeSeries,EventSeries,…the values from time series data WeightedDatathe count for each value is its weight w[datai]wrapper w for dataset datai - The following bin width specifications bspec can be given:
-
nuse n bins {dx}use bins of width dx {xmin,xmax,dx}use bins of width dx from xmin to xmax {{b1,b2,…}}use the bins [b1,b2),[b2,b3),… Automaticdetermine bin widths automatically "name"use a named binning method {"Log",bspec}apply binning bspec on log-transformed data fbapply fb to get an explicit bin specification {b1,b2,…} - The binning specification "Log" is taken to use the Automatic underlying binning method.
- Possible named binning methods include:
-
"Sturges"compute the number of bins based on the length of data "Scott"asymptotically minimize the mean square error "FreedmanDiaconis"twice the interquartile range divided by the cube root of sample size "Knuth"balance likelihood and prior probability of a piecewise uniform model "Wand"one-level recursive approximate Wand binning - The function fb in Histogram[data,fb] is applied to a list of all xi, and should return an explicit bin list {b1,b2,…}.
- Different forms of histogram can be obtained by giving different bin height specifications hspec in Histogram[data,bspec,hspec]. The following forms can be used:
-
"Count"number of elements in each bin "CumulativeCount"cumulative counts "SurvivalCount"survival counts "Probability"fraction of values lying in each bin "Intensity"count divided by bin width "PDF"probability density function "CDF"cumulative distribution function "SF"survival function "HF"hazard function "CHF"cumulative hazard function {"Log",hspec}log-transformed height specification fhheights obtained by applying fh to bins and counts - The function fh in Histogram[data,bspec,fh] is applied to two arguments: a list of bins {{b1,b2},{b2,b3},…}, and a corresponding list of counts {c1,c2,…}. The function should return a list of heights to be used for each of the ci.
- Only values xi that are real numbers are assigned to bins; others are taken to be missing.
- In Histogram[{data1,data2,…},…], automatic bin locations are determined by combining all the datasets datai.
- Histogram[{…,wi[datai,…],…},…] renders the histogram elements associated with dataset datai according to the specification defined by the symbolic wrapper wi.
- Possible symbolic wrappers are the same as for BarChart, and include Style, Labeled, Legended, etc.
- Histogram has the same options as Graphics with the following additions and changes: [List of all options]
-
AspectRatio 1/GoldenRatioratio of height to width Axes Truewhether to draw axes BarOrigin Bottomorigin of histogram bars ChartBaseStyle Automaticoverall style for bars ChartElementFunction Automatichow to generate raw graphics for bars ChartElements Automaticgraphics to use in each of the bars ChartLabels Nonecategory labels for datasets ChartLayout Automaticoverall layout to use ChartLegends Nonelegends for data elements and datasets ChartStyle Automaticstyle for bars ColorFunction Automatichow to color bars ColorFunctionScaling Truewhether to normalize arguments to ColorFunction LabelingFunction Automatichow to label elements LegendAppearanceAutomaticoverall appearance of legends PerformanceGoal $PerformanceGoalaspects of performance to try to optimize PlotTheme $PlotThemeoverall theme for the histogram ScalingFunctionsNonehow to scale individual coordinates TargetUnitsAutomaticunits to display in the chart - The following settings for ChartLayout can be used to display multiple sets of data:
-
"Overlapped"show all the data overlapping "Stacked"accumulate the data per bin - Possible settings for ChartLayout that show single groups of bars in multiple chart panels include:
-
"Column"use separate groups of bars in a column of panels "Row"use separate groups of bars in a row of panels {"Column",k},{"Row",k}use k columns or rows {"Column",UpTo[k]},{"Row",UpTo[k]}use at most k columns or rows - The arguments supplied to ChartElementFunction are the bin region {{xmin,xmax},{ymin,ymax}}, the bin values lists, and metadata {m1,m2,…} from each level in a nested list of datasets.
- A list of built-in settings for ChartElementFunction can be obtained from ChartElementData["Histogram"].
- The argument supplied to ColorFunction is the height for each bin.
- With ScalingFunctions->{sx,sy}, the coordinate is scaled using sx etc.
- Style and other specifications from options and other constructs in BarChart are effectively applied in the order ChartStyle, ColorFunction, Style and other wrappers, ChartElements, and ChartElementFunction, with later specifications overriding earlier ones.
-
AlignmentPointCenterthe default point in the graphic to align with AspectRatio1/GoldenRatioratio of height to width AxesTruewhether to draw axes AxesLabelNoneaxes labels AxesOriginAutomaticwhere axes should cross AxesStyle{}style specifications for the axes BackgroundNonebackground color for the plot BarOriginBottomorigin of histogram bars BaselinePositionAutomatichow to align with a surrounding text baseline BaseStyle{}base style specifications for the graphic ChartBaseStyleAutomaticoverall style for bars ChartElementFunctionAutomatichow to generate raw graphics for bars ChartElementsAutomaticgraphics to use in each of the bars ChartLabelsNonecategory labels for datasets ChartLayoutAutomaticoverall layout to use ChartLegendsNonelegends for data elements and datasets ChartStyleAutomaticstyle for bars ColorFunctionAutomatichow to color bars ColorFunctionScalingTruewhether to normalize arguments to ColorFunction ContentSelectableAutomaticwhether to allow contents to be selected CoordinatesToolOptionsAutomaticdetailed behavior of the coordinates tool Epilog{}primitives rendered after the main plot FormatTypeTraditionalFormthe default format type for text FrameFalsewhether to put a frame around the plot FrameLabelNoneframe labels FrameStyle{}style specifications for the frame FrameTicksAutomaticframe ticks FrameTicksStyle{}style specifications for frame ticks GridLinesNonegrid lines to draw GridLinesStyle{}style specifications for grid lines ImageMargins0.the margins to leave around the graphic ImagePaddingAllwhat extra padding to allow for labels etc. ImageSizeAutomaticthe absolute size at which to render the graphic LabelingFunctionAutomatichow to label elements LabelStyle{}style specifications for labels LegendAppearanceAutomaticoverall appearance of legends MethodAutomaticdetails of graphics methods to use PerformanceGoal$PerformanceGoalaspects of performance to try to optimize PlotLabelNonean overall label for the plot PlotRangeAllrange of values to include PlotRangeClippingFalsewhether to clip at the plot range PlotRangePaddingAutomatichow much to pad the range of values PlotRegionAutomaticthe final display region to be filled PlotTheme$PlotThemeoverall theme for the histogram PreserveImageOptionsAutomaticwhether to preserve image options when displaying new versions of the same graphic Prolog{}primitives rendered before the main plot RotateLabelTruewhether to rotate y labels on the frame ScalingFunctionsNonehow to scale individual coordinates TargetUnitsAutomaticunits to display in the chart TicksAutomaticaxes ticks TicksStyle{}style specifications for axes ticks
List of all options
Examples
open allclose allBasic Examples (4)
Generate a histogram for a list of values:
Generate a probability histogram for a list of values:
Show multiple datasets as a row of individual histograms:
Scope (32)
Data and Layouts (19)
Specify the number of bins to use:
The bin delimiters as an explicit list:
Bins for discrete values are centered over the values when possible:
Use different automatic binning methods:
Use logarithmically spaced bins:
Delimit bins on integer boundaries using a binning function:
Use different height specifications:
Use a height function that accumulates the bin counts:
Bins associated with a dataset are styled the same:
Nonreal data is taken to be missing:
Specify binning spec with units:
The values in an association are used as elements:
The time stamps in TimeSeries, EventSeries, and TemporalData are ignored:
Weights in WeightedData affect the shape of histogram:
The censoring and truncation information in EventData also affects the histogram:
Use different layouts to display multiple datasets:
Use rows and columns of individual plots to show multiple sets:
Wrappers (2)
Use wrappers on individual data, datasets, or collections of datasets:
Override the default tooltips:
Use PopupWindow to provide additional drilldown information:
Button can be used to trigger any action:
Styling and Appearance (4)
Use an explicit list of styles for the bars:
Use any gradient or indexed color schemes from ColorData:
ChartBaseStyle can be used to set an initial style for all chart elements:
Style can be used to override styles:
Use any graphic for pictorial bars:
Use built-in, programmatically generated bars:
For detailed settings, use Palettes ▶ ChartElementSchemes:
Labeling and Legending (7)
Use Labeled to add a label to a dataset:
Use symbolic positions for label placement:
Provide value labels for bars by using LabelingFunction:
Use Placed to control placement and formatting:
Add categorical legend entries for datasets:
Use Legended to add additional legend entries:
Use Placed to affect the positioning of legends:
Options (80)
AspectRatio (3)
By default, Histogram uses a fixed height to width ratio for the plot:
Make the height the same as the width with AspectRatio1:
AspectRatioFull adjusts the height and width to tightly fit inside other constructs:
Axes (4)
By default, Axes are drawn:
Use AxesFalse to turn off axes:
Use AxesOrigin to specify where the axes intersect:
Turn each axis on individually:
AxesLabel (4)
No axes labels are drawn by default:
AxesOrigin (2)
The position of the axes is determined automatically:
Specify an explicit origin for the axes:
AxesStyle (4)
Change the style for the axes:
Specify the style of each axis:
Use different styles for the ticks and the axes:
Use different styles for the labels and the axes:
BarOrigin (1)
ChartBaseStyle (4)
Use ChartBaseStyle to style bars:
ChartBaseStyle combines with ChartStyle:
ChartStyle may override settings for ChartBaseStyle:
ChartBaseStyle combines with Style:
Style may override settings for ChartBaseStyle:
ChartBaseStyle combines with ColorFunction:
ColorFunction may override settings for ChartBaseStyle:
ChartElementFunction (4)
Get a list of built-in settings for ChartElementFunction:
For detailed settings, use Palettes ▶ ChartElementSchemes:
ChartElementFunction is appropriate to show the global scale:
Write a custom ChartElementFunction:
Built-in element functions may have options; use Palettes ▶ ChartElementSchemes to set them:
ChartElements (9)
Create a pictorial chart based on any Graphics object:
Use a stretched version of the graphic:
Use explicit sizes for width and height:
Using All for width or height causes that direction to stretch to the full size of the bar:
Use a different graphic for each row of data:
Styles are inherited from styles set through ChartStyle etc:
Style can override the settings from ChartStyle:
Explicit styles set in the graphic will override other style settings:
ChartLabels (6)
Place dataset labels above each histogram:
Labeled wrappers around datasets will place additional labels:
Use Placed to control label placement:
Symbolic positions outside the bar:
Coordinate-based placement relative to a histogram:
Place all labels at the lower-left corner and vary the coordinates within the label:
Use the third argument to Placed to control formatting:
Use a named formatting function:
ChartLayout (5)
Use different layouts to display multiple datasets:
With multiple datasets that are fairly disjoint, typically "Overlapped" works better:
Place each group of bars in a separate panel using shared axes:
Use a row instead of a column:
ChartLegends (2)
Generate a legend based on chart style:
Use Legended to add additional legend entries:
Use Legended to specify individual legend entries:
Use Placed to control the placement of legends:
ChartStyle (5)
Use ChartStyle to style bars:
Use "Gradient" colors from ColorData:
Use "Indexed" colors from ColorData:
Style overrides settings for ChartStyle:
ColorFunction overrides settings for ChartStyle:
ChartElements may override settings for ChartStyle:
ColorFunction (4)
Use ColorFunctionScaling->False to get unscaled height values:
ColorFunction overrides styles in ChartStyle:
Use ColorFunction to combine different style effects:
ColorFunctionScaling (2)
By default, scaled height values are used:
Use ColorFunctionScaling->False to get unscaled height values:
ImageSize (7)
Use named sizes such as Tiny, Small, Medium and Large:
Specify the width of the plot:
Specify the height of the plot:
Allow the width and height to be up to a certain size:
Specify the width and height for a graphic, padding with space if necessary:
Setting AspectRatioFull will fill the available space:
Use maximum sizes for the width and height:
Use ImageSizeFull to fill the available space in an object:
Specify the image size as a fraction of the available space:
LabelingFunction (7)
Use automatic labeling by values through Tooltip and StatusArea:
Use symbolic positions to control label placement:
Coordinate-based placement relative to a bar:
Control the formatting of labels:
Use the dataset position index to generate the label:
Use the given chart labels as arguments to the labeling function:
PerformanceGoal (1)
Generate a bar chart with interactive highlighting:
Emphasize performance by disabling interactive behaviors:
Typically, less memory is required for non-interactive charts:
PlotRange (1)
PlotRange is automatically calculated:
PlotRangePadding (3)
Specify a single plot range padding for all directions:
Specify a separate plot range padding for horizontal and vertical directions:
Specify a separate plot range padding for each direction:
PlotTheme (2)
Use a theme with simple ticks and grid lines in a high-contrast color scheme:
Applications (14)
Overlay a plot of the PDF for a normal distribution:
Number of elements discovered each decade from 1700 to 2000:
Create a histogram of reference page sizes in the Wolfram System:
Distribution of lengths of human chromosomes:
Create a ListLinePlot using counts extracted from a histogram:
Click a dataset in the histogram to hear an acoustic representation of the counts:
Click the bars to hear the counts in the corresponding bin:
Create a matrix of handwritten digits using Graphics ▶ Drawing Tools:
Compute the histogram of line angles used in a character drawing:
Create histograms for each digit showing the frequency of line angles:
Create a stacked histogram of male and female life expectancy for all countries:
Select a subset of languages available in DictionaryLookup:
Mouse over the bars to get the word counts with a particular string length:
Power spectrum of the Thue–Morse nested sequence [more info]:
Create a cumulative histogram:
Create a stacked cumulative histogram:
Wind direction from WeatherData ranges from 0° to 360°:
Get wind direction data for Willard Airport (CMI) at Champaign, Illinois:
Define a chart element function that stores bin width and count data using Sow:
Create a histogram of the wind directions, and store the bin width and frequencies:
Create a polar histogram of the wind-direction frequencies:
Histogram for the slice distribution of a random process:
Histogram for several slices of a process:
Properties & Relations (3)
Histogram automatically determines bins to use based on data:
Use BinCounts for explicit binning of data:
Display using BarChart:
Use PDF to get a parametric probability density function:
Show together with Histogram of random data:
Possible Issues (2)
Discrete values that don't align with the bin width can result in gaps:
Bins include the left endpoint but not the right, which can result in unexpected bins:
The value 1 is not included in this histogram because it would be in the bin [1,1.2):
Neat Examples (1)
Text
Wolfram Research (2008), Histogram, Wolfram Language function, https://reference.wolfram.com/language/ref/Histogram.html (updated 2021).
CMS
Wolfram Language. 2008. "Histogram." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/Histogram.html.
APA
Wolfram Language. (2008). Histogram. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Histogram.html