条形图中的线条Matplotlib

时间:2017-11-09 00:56:54

标签: python python-3.x matplotlib bar-chart

enter image description here我的目标是让条形图代表分配的小时数。分配的小时数应表示为sched_hrs之上的tot_hrs。因此,7号线应该在Blaisterone FL'的1号线上方。然而,情节出现了三条线7,8和9,以及Blaithone FL' Bonifay FL'以及Calhoun FL'。主要问题是下面的代码为tt in range(len(service_areas)):.非常感谢任何帮助。

sched_hrs=[1, 2, 3]
tot_hrs=[7, 8, 9]
columnstart = -0.5
columnend = 0.5
service_areas = ['Blairstone FL', 'Bonifay FL', 'Calhoun FL']

plt.figure(figsize=(len(service_areas) + 4.5, 4)).canvas.set_window_title('Click')
ind = np.arange(len(service_areas))
width = 0.18
plt.bar(ind, sched_hrs,width, label='Scheduled Hours', color='green', align="center")
for tt in range(len(service_areas)):
    plt.plot([columnstart, columnend], [tot_hrs, tot_hrs], color='#228B22', linestyle='-', linewidth=2)
    columnstart +=1
    columnend +=1
plt.xticks(ind, service_areas, rotation=10)
plt.yticks(np.arange(0, max(1, max(tot_hrs) + 2), 1))
plt.title("Allocated Hours")
plt.xlabel("Areas")
plt.ylabel("Hours")
plt.legend()
plt.show() 

1 个答案:

答案 0 :(得分:3)

假设这是你想要达到的目的:

enter image description here

然后你应该绘制这样的一行:

isn

替换这段代码:

plt.bar(ind, 0.1, width, bottom=tot_hrs, color='green', align="center")