I am trying to create a bar graph using the matplot library but I cant figure out what the arguments are for the function.

The documentation says `bar(left, height)`

, but I don't know how to put in my data [which is a list of numbers called x] in here.

It tells me that the height should be a scalar when I put it as a number `0.5`

or `1`

, and doesn't show me the error if the height is a list.

A simple thing you can do:

```
plt.bar(range(len(x)), x)
```

`left`

is the left ends of the bars. You're telling it where to place the bars on the horizontal axis. Here's something you can play around with until you get it:

```
>>> import matplotlib.pyplot as plt
>>> plt.bar(range(10), range(20, 10, -1))
>>> plt.show()
```

From the documentation http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.bar

```
bar(left, height, width=0.8, bottom=0, **kwargs)
```

where:

```
Argument Description
left --> the x coordinates of the left sides of the bars
height --> the heights of the bars
```

A simple example from http://scienceoss.com/bar-plot-with-custom-axis-labels/

```
# pylab contains matplotlib plus other goodies.
import pylab as p
#make a new figure
fig = p.figure()
# make a new axis on that figure. Syntax for add_subplot() is
# number of rows of subplots, number of columns, and the
# which subplot. So this says one row, one column, first
# subplot -- the simplest setup you can get.
# See later examples for more.
ax = fig.add_subplot(1,1,1)
# your data here:
x = [1,2,3]
y = [4,6,3]
# add a bar plot to the axis, ax.
ax.bar(x,y)
# after you're all done with plotting commands, show the plot.
p.show()
```

Licensed under: CC-BY-SA with attribution

Not affiliated with: Stack Overflow