Вот быстрое решение, которое я создал вместе, хотя я чувствую, что, возможно, в matplotlib существует опция gaps=0
, для которой я не могу найти документацию.
fig, ax = plt.subplots()
cost = [1, 1.5, 2, 3, 4]
width = [1.0, 5.0, 10.0, 15.0, 10.0]
y_pos = [1,2,3,4,5]
colors = ['red','blue','green','red','blue']
bars = ['A','B','C','D','E']
relative_positions = []
relative_position = 0
previous_width = 0
for w in width:
print(w, w/2)
relative_position = float(relative_position + (previous_width/2) + (w/2))
print(w, relative_position)
previous_width = w
relative_positions.append(relative_position)
plt.bar(relative_positions, cost, width=width, color=colors)
plt.xticks(relative_positions, bars)
