【发布时间】:2017-10-09 09:33:20
【问题描述】:
如何分隔这些条,我希望每个 4 之间有 1 个宽度的距离(指 4 种不同的类型),并请找到附加的图像,指的是我从这段代码中获得的输出。
import numpy as np
import matplotlib.pyplot as plt
N = 10
Google = (10, 15, 32, 29, 13, 35, 2, 20, 27, 29)
ind = np.arange(N) # the x locations for the groups
width = 0.35 # the width of the bars
fig, ax = plt.subplots()
rects1 = ax.bar(ind, Google, width, color='b')
Voicebase = (2, 16, 19, 30, 22, 30, 33, 4, 14, 18)
rects2 = ax.bar(ind + width, Voicebase, width, color='g')
Watson = (7, 17, 14, 19, 28, 4, 4, 34, 9, 17)
rects3 = ax.bar(ind + width*2, Watson, width, color='y')
Remeeting = (12, 21, 19, 35, 24, 6, 22, 31, 19, 14)
rects4 = ax.bar(ind + width*3, Remeeting, width, color='r')
# add some text for labels, title and axes ticks
ax.set_ylabel('Char edit distance')
ax.set_xticks(ind + width/2 )
ax.set_xticklabels(('A1', 'A2', 'A3', 'A4', 'A5','B1', 'B2', 'B3', 'B4', 'C1'))
ax.legend((rects1[0], rects2[0], rects3[0], rects4[0]), ('Google', 'Voicebase','Watson', 'Remeeting'))
def autolabel(rects):
"""
Attach a text label above each bar displaying its height
"""
for rect in rects:
height = rect.get_height()
ax.text(rect.get_x() + rect.get_width()/2., 1.05*height,
'%d' % int(height),
ha='center', va='bottom')
autolabel(rects1)
autolabel(rects2)
autolabel(rects3)
autolabel(rects4)
plt.show()
【问题讨论】:
标签: python python-2.7 matplotlib