扫码一下
查看教程更方便
条形图或柱形图是一种图表或图形,它用矩形条显示分类数据,矩形条的高度或长度与其所代表的值成正比。条形图可以垂直或水平绘制。
条形图显示离散数据不同类别之间的比较。图表的一个轴显示正在比较的特定类别,另一个轴表示测量值。
Matplotlib API 提供了bar()函数用来绘制条形图。 bar() 函数语法如下
ax.bar(x, height, width, bottom, align)
参数说明:
该函数返回一个包含所有条形的 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()
图形如下
当比较多个数量和更改一个变量时,我们可能需要一个条形图,其中一个颜色的条形对应一个数量值。
我们可以通过调整条形的粗细和位置来绘制多个条形图。数据变量包含三个 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()
图形如下
堆叠条形图将代表不同组的条形堆叠在一起。结果条的高度显示了组的组合结果。
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()
图形如下