Bar charts summarize and compare categorical data by using proportional bar lengths to represent values.
Bar charts are composed of an x-axis and a y-axis. The x-axis represents discrete categories that correspond to one or many bars. Each bar’s height corresponds to a numeric value, which is measured by the y-axis.
Bar charts display unique category values from a Category or Date field as bars along the x-axis. The height of the bars corresponds to raw or aggregated numeric values.
If the values in the category variable are unique (only appear in the attribute field once), no aggregation is necessary, but a Numeric field must be specified. For example, if the category variable is StateName and the table only has one record for each state, the bar heights are determined by the Numeric field, and no aggregation is needed.
If the category values repeat in the table, an Aggregation method must be chosen to specify how the data will be summarized. For example, if the category variable is StateName for a county dataset, each state name appears in the table multiple times, so aggregation is necessary to show summarized amounts per state.
If no Numeric fields are specified, the chart uses the Count aggregation method, which totals the number of times each unique category appears in the category field. For example, the category variable is set to StateName for a county dataset with a Count Aggregation method. The resulting chart will display one bar for each state, and the bar heights will represent how many counties belong to each state.
If Numeric fields are specified, the aggregation method can be one of the following:
More than one numeric value, or series, can be displayed for each discrete category value on the x-axis.
Multiple series bar charts can be created by adding multiple Numeric fields, or by setting a Split by category field.
When multiple Numeric fields are added, one bar is drawn for each field at each category value on the x-axis. For example, the category variable is set to StateName for a county dataset with a Sum Aggregation method and two Numeric fields, Population2010 and Population2015. The resulting chart will display two bars for each state; one bar will represent the sum of all the Population2010 values for each county in the state, and the second will represent the sum of all the Population2015 values for each county in the state.
Each category in a bar chart can also be split into multiple series by another category field's values. For example, the category variable is set to StateName for a county dataset with a Count Aggregation method and a Split by field of ElectionWinner. The Series table populates with each unique ElectionWinner value, and the resulting chart will display three bars for each state with heights corresponding to the number of counties that fell into each Split by category: Democrat, Republican, and Independent.
A Split by category cannot be applied when more than one Numeric field has been added.
Category fields with many unique values are not appropriate for splitting a field into multiple series.
Display multiple series
When a bar chart contains multiple series, they are displayed as Side-by-side bars by default. When the multiple series represent a part-to-whole relationship (in other words, all of the series combined add up to 100 percent of the category), they can also be represented using Stacked bars or 100% Stacked bars.
Side-by-side bars are best for comparing the individual values of each series across categories. Stacked bars are best used when you are more interested in the totals for each category, but would like a sense of their series breakdown. 100% Stacked bars are used when you are only interested in visualizing the part-to-whole relationship without absolute totals.
X-axis label character limit
Category labels are truncated at 11 characters by default. When labels are truncated, the full text is available on hover. To display the entire label text in the chart, increase the label character limit.
Default y-axis bounds are set based on the range of data values represented on the y-axis. These values can be customized by typing a new desired axis bound value. Setting a y-axis bound can be used as a way to keep the scale of your chart consistent for comparison. Clicking the reset button reverts the axis bound to the default value.
Since bar charts use length to represent relative value, it is important that all bar charts include an origin of zero.
You can format the way an axis displays numeric values by specifying a number format category or by defining a custom format string. For example, $#,### can be used as a custom format string to display currency values.
Titles and description
Charts and axes are given default titles based on the variable names and chart type. These can be edited on the General tab in the Chart Properties pane. You can also provide a chart Description, which is a block of text that appears at the bottom of the chart window.
You can configure the look of your chart by formatting text and symbol elements, or by applying a chart theme. Format properties can be configured on the Format tab in the Chart Properties pane, or through the Chart Format context ribbon. Chart formatting options include the following:
- Size, color, and style of the font used for axis titles, axis labels, description text, legend title, legend text, and guide labels
- Color, width, and line type for grid and axis lines
- Background color of the chart
Bar charts with no aggregation or grouping will match the colors defined in the layer symbology by default. Once an aggregation or grouping is applied, it is no longer possible to use the layer symbology colors; a standard color palette will be applied. Colors can be changed on the Series tab in the Chart Properties pane by clicking the Symbol color patch in the Series table and choosing a new color.
Bar charts are automatically sorted alphabetically by their categories (x-axis ascending). This can be changed using the Sort options in the Chart Properties pane. The following sort options are available for bar charts:
- X-axis Ascending—Categories are arranged alphabetically from left to right.
- X-axis Descending—Categories are arranged in reverse alphabetical order.
- Y-axis Ascending—Categories are arranged by their value (bar height), from smallest to largest.
- Y-axis Descending—Categories are arranged by their value (bar height), from largest to smallest.
- Custom—Categories can be arranged manually in the Custom sort table. For example, you may want to organize weekdays in their natural order:
Labels displaying the value of each bar or series can be turned on by checking Label bars on the Data tab in the Chart Properties pane.
Bars can be drawn horizontally by clicking the Rotate chart button in the chart window.
Guide lines or ranges can be added to charts as a reference or way to highlight significant values. To add a new guide, on the Guides tab in the Chart Properties pane, click Add guide. To draw a line, enter a Value where you would like the line to draw. To create a range, enter a to value. You can optionally add text to your guide by specifying a Label.
If you are using a date field to create a bar chart, you may consider adding a moving average. Analysis of temporal data can be problematic due to inconsistent or unreliable data collection. In these cases, it can be helpful to apply a moving average to smooth the noise and obtain a clearer picture of the overall trend. When you check the Show moving average check box, a line is overlaid on your bar chart that represents the average value of the previous n periods, specified in the Moving average period control.
Moving average is only available for single series temporal bar charts.
Create a bar chart to compare median vacation rental prices across neighborhoods in New York City by room type.
- Category or Date—Neighborhood
- Numeric field—Price
- Split by—Room type