A bar chart is a visual representation that uses rectangular bars, where the length of each bar represents each value.
You can use the bar chart visualization when you want to compare values over different categories or time periods. The visualization can display the bars horizontally or vertically, and can be customized to group or stack bars for more complex data analysis.
You can use the bar chart visualization if you need to show:
- Population distribution by age or location
- CPU usage per application
- Sales per division
- Server cost distribution
## Configure a bar chart
The following video shows you how to create and configure a bar chart visualization:
{{<youtubeid="qyKE9-71KkE">}}
{{<docs/playtitle="Grafana Bar Charts and Pie Charts"url="https://play.grafana.org/d/ktMs4D6Mk/">}}
## Supported data formats
Only one data frame is supported and it must have at least one string field that will be used as the category for an X or Y axis and one or more numerical fields.
To create a bar chart visualization, you need a dataset containing one string or time field (or column) and at least one numeric field, though preferably more than one to make best use of the visualization.
The text or time field is used to label the bars or values in each row of data and the numeric fields are represented by proportionally sized bars.
Example:
### Example 1
| Browser | Market share |
| ------- | ------------ |
| Chrome | 50 |
| IE | 17.5 |
| Group | Value1 | Value2 | Value3 |
| ----- | ------ | ------ | ------ |
| uno | 5 | 3 | 2 |
If you have more than one numerical field the visualization will show grouped bars.

### Visualizing time series or multiple result sets
If you have more than one text or time field, by default, the visualization uses the first one, but you can change this in the x-axis option as described in the [Bar chart options](#bar-chart-options) section.
If you have multiple time series or tables you first need to join them using a join or reduce transform. For example if you
have multiple time series and you want to compare their last and max value add the **Reduce** transform and specify **Max** and **Last** as options under **Calculations**.
### Example 2
{{<figuresrc="/static/img/docs/bar-chart-panel/bar-chart-time-series-v8-0.png"max-width="1025px"caption="Bar chart time series example">}}
If your dataset contains multiple rows, the visualization displays multiple bar chart groups where each group contains multiple bars representing all the numeric values for a row.
While the first field can be time-based and you can use a bar chart to plot time-series data, for large amounts of time-series data, we recommend that you use the [time series visualization](https://grafana.com/docs/grafana/latest/panels-visualizations/visualizations/time-series/) and configure it to be displayed as bars.
We recommend that you only use one dataset in a bar chart because using multiple datasets can result in unexpected behavior.
## Panel options
@ -75,6 +101,10 @@ have multiple time series and you want to compare their last and max value add t
Use these options to refine your visualization.
### X Axis
Specify which field is used for the x-axis.
### Orientation
- **Auto** - Grafana decides the bar orientation based on what the panel dimensions.