教程 > matplotlib 教程 > 阅读:111

matplotlib 条形图——迹忆客-ag捕鱼王app官网

条形图或柱形图是一种图表或图形,它用矩形条显示分类数据,矩形条的高度或长度与其所代表的值成正比。条形图可以垂直或水平绘制。

条形图显示离散数据不同类别之间的比较。图表的一个轴显示正在比较的特定类别,另一个轴表示测量值。

matplotlib api 提供了bar()函数用来绘制条形图。 bar() 函数语法如下

ax.bar(x, height, width, bottom, align)

参数说明:

  • x:浮点型数组,柱形图的 x 轴数据。
  • height:浮点型数组,柱形图的高度。
  • width:浮点型数组,柱形图的宽度。
  • bottom:浮点型数组,底座的 y 坐标,默认 0。
  • align:柱形图与 x 坐标的对齐方式,'center' 以 x 位置为中心,这是默认值。 'edge':将柱形图的左边缘与 x 位置对齐。要对齐右边缘的条形,可以传递负数的宽度值及 align='edge'。

该函数返回一个包含所有条形的 matplotlib 容器对象。

以下是 matplotlib 条形图的简单示例。

import matplotlib.pyplot as plt
fig = plt.figure("迹忆客 - jiyik.com")
ax = fig.add_subplot(111)
langs = ['c', 'c  ', 'java', 'python', 'php']
students = [23, 17, 35, 29, 12]
ax.bar(langs, students)
plt.show()

图形如下

matplotlib-柱形图1

当比较多个数量和更改一个变量时,我们可能需要一个条形图,其中一个颜色的条形对应一个数量值。

我们可以通过调整条形的粗细和位置来绘制多个条形图。数据变量包含三个 series ,每个 series包含四个值。

看下面的示例

import numpy as np
import matplotlib.pyplot as plt
data = [[30, 25, 50, 20],
        [40, 23, 51, 17],
        [35, 22, 45, 19]]
x = np.arange(4)
fig = plt.figure("迹忆客 - jiyik.com")
ax = fig.add_subplot(111)
ax.bar(x   0.00, data[0], color='b', width=0.25)
ax.bar(x   0.25, data[1], color='c', width=0.25)
ax.bar(x   0.50, data[2], color='r', width=0.25)
plt.show()

图形如下

matplotlib-多柱形图

堆叠条形图将代表不同组的条形堆叠在一起。结果条的高度显示了组的组合结果。

pyplot.bar()函数的可选底部参数允许我们指定条形的起始值。它不是从零开始的,而是从底部开始。第一次调用 pyplot.bar() 绘制青色条。第二次调用 pyplot.bar() 绘制红色条,青色条的底部位于红色条的顶部。

import numpy as np
import matplotlib.pyplot as plt
n = 5
menmeans = [20, 35, 30, 35, 27]
womenmeans = [25, 32, 34, 20, 25]
ind = np.arange(n)
width = 0.35
fig = plt.figure("迹忆客 - jiyik.com")
ax = fig.add_subplot(111)
ax.bar(ind, menmeans, width, color='r')
ax.bar(ind, womenmeans, width, bottom=menmeans, color='c')
ax.set_ylabel('分数')
ax.set_title('分组分数对比')
ax.set_xticks(ind)
ax.set_yticks(np.arange(0, 81, 10))
ax.legend(labels=['men', 'women'])
plt.show()

图形如下

matplotlib-堆叠条形图

查看笔记

扫码一下
查看教程更方便
网站地图