# bar3h

Plot horizontal 3-D bar graph

## Syntax

`bar3h(Y)bar3h(x,Y)bar3h(...,width)bar3h(...,'style')bar3h(...,LineSpec)bar3h(axes_handle,...)h = bar3h(...)`

## Description

`bar3h` draws three-dimensional horizontal bar charts.

`bar3h(Y)` draws a three-dimensional bar chart, where each element in `Y` corresponds to one bar. When `Y` is a vector, the y-axis scale ranges from `1` to `length(Y)`. When `Y` is a matrix, the y-axis scale ranges from `1` to `size(Y,1)` and the elements in each row are grouped together.

`bar3h(x,Y)` draws a bar chart of the elements in `Y` at the locations specified in `x`, where `x` is a vector defining the y-axis intervals for horizontal bars. The x-values can be nonmonotonic, but cannot contain duplicate values. If `Y` is a matrix, `bar3` clusters elements from the same row in `Y` at locations corresponding to an element in `x`. Values of elements in each row are grouped together.

`bar3h(...,width)` sets the width of the bars and controls the separation of bars within a group. The default `width` is `0.8`, so if you do not specify `x`, bars within a group have a slight separation. If `width` is `1`, the bars within a group touch one another.

`bar3h(...,'style')` specifies the style of the bars. `'``style``'` is `'detached'`, `'grouped'`, or `'stacked'`. Default mode of display is `'detached'`.

• `'detached'` displays the elements of each row in `Y` as separate blocks behind one another in the y direction.

• `'grouped'` displays n groups of m vertical bars, where n is the number of rows and m is the number of columns in `Y`. The group contains one bar per column in `Y`.

• `'stacked'` displays one bar for each row in `Y`. The bar length is the sum of the elements in the row. Each bar is multicolored, with colors corresponding to distinct elements and showing the relative contribution each row element makes to the total sum.

`bar3h(...,LineSpec)` displays all bars using the color specified by `LineSpec`.

`bar3h(axes_handle,...)` plots into the axes with the handle `axes_handle` instead of into the current axes (`gca`).

`h = bar3h(...)` returns a vector of handles to surface objects, one for each created. When `Y` is a matrix, `bar3h` creates one surface object per column in `Y`.

## Examples

collapse all

### Create 3-D Horizontal Bar Graph

Load the data set `count.dat`, which returns a three-column matrix, `count`. Store `Y` as the first ten rows of `count`.

```load count.dat Y = count(1:10,:); ```

Create a 3-D horizontal bar graph of `Y`. By default, the style is `detached`.

```figure bar3h(Y) ```

### Specify Bar Width for 3-D Horizontal Bar Graph

Load the data set `count.dat`, which returns a three-column matrix, `count`. Store `Y` as the first ten rows of `count`.

```load count.dat; Y = count(1:10,:); ```

Create a 3-D horizontal bar graph of `Y` and set the bar width to 0.5.

```width = 0.5; figure bar3h(Y,width) title('Width of 0.5') ```

### 3-D Horizontal Bar Graph with Grouped Style

Load the data set `count.dat`, which returns a three-column matrix, `count`. Store `Y` as the first ten rows of `count`.

```load count.dat Y = count(1:10,:); ```

Create a 3-D horizontal bar graph of Y and specify the style option as `grouped`.

```figure bar3h(Y,'grouped') title('Grouped Style Option') ```

### 3-D Horizontal Bar Graph with Stacked Option

Load the data set `count.dat`, which returns a three-column matrix, `count`. Store `Y` as the first ten rows of `count`.

```load count.dat Y = count(1:10,:); ```

Create a 3-D horizontal bar graph of Y and specify the style option as `stacked`.

```figure bar3h(Y,'stacked') title('Stacked Style Option') ```