官术网_书友最值得收藏!

Plotting bar charts

Bar charts are a common staple of plotting package, and even matplotlib has them.

How to do it...

The dedicated function for bar charts is pyplot.bar(). We will enable this function by executing the following script:

import matplotlib.pyplot as plt

data = [5., 25., 50., 20.]

plt.bar(range(len(data)), data)
plt.show()

The preceding script will produce the following graph:

How to do it...

How it works...

For each value in the list data, one vertical bar is shown. The pyplot.bar() function receives two arguments—the x coordinate for each bar and the height of each bar. Here, we use the coordinates 0, 1, 2, and so on, for each bar, which is the purpose of range(len(data)).

There's more...

Through an optional parameter, pyplot.bar() provides a way to control the bar's thickness. Moreover, we can also obtain horizontal bars using the twin brother of pyplot.bar(), that is, pyplot.barh().

The thickness of a bar

By default, a bar will have a thickness of 0.8 units. Because we put a bar at each unit length, we have a gap of 0.2 between them. You can, of course, fiddle with this thickness parameter. For instance, by setting it to 1:

import matplotlib.pyplot as plt

data = [5., 25., 50., 20.]

plt.bar(range(len(data)), data, width = 1.)
plt.show()

The preceding minimalistic script will produce the following graph:

The thickness of a bar

Now, the bars have no gap between them. The matplotlib bar chart function pyplot.bar() will not handle the positioning and thickness of the bars. The programmer is in charge. This flexibility allows you to create many variations on bar charts.

Horizontal bars

If you are more into horizontal bars, use the barh() function, which is the strict equivalent of bar(), apart from giving horizontal rather than vertical bars:

import matplotlib.pyplot as plt

data = [5., 25., 50., 20.]

plt.barh(range(len(data)), data)
plt.show()

The preceding script will produce the following graph:

Horizontal bars
主站蜘蛛池模板: 渝北区| 大悟县| 屏边| 雷山县| 龙海市| 通河县| 黎平县| 双鸭山市| 汾西县| 柞水县| 青州市| 嫩江县| 水富县| 嫩江县| 安化县| 华亭县| 桦甸市| 平昌县| 宣恩县| 镇平县| 汝阳县| 靖西县| 海丰县| 平利县| 钟山县| 洛宁县| 鸡西市| 苗栗市| 皋兰县| 莒南县| 交城县| 靖安县| 吴忠市| 麻城市| 屯留县| 苏州市| 长垣县| 辽宁省| 千阳县| 黔东| 鄂托克旗|