2016-12-23 23 views
5

Tôi đang cố gắng "căn chỉnh mạnh" các nhãn dữ liệu trong biểu đồ thanh xếp chồng. Một mã đơn giản và kết quả được đưa ra dưới đây. Như bạn có thể thấy, các nhãn dữ liệu không thực sự tập trung ở tất cả các hình chữ nhật. Tôi đang thiếu gì?Biểu đồ thanh xếp chồng với các nhãn được căn giữa

import numpy as np 
import matplotlib.pyplot as plt 

A = [45, 17, 47] 
B = [91, 70, 72] 

fig = plt.figure(facecolor="white") 

ax = fig.add_subplot(1, 1, 1) 
bar_width = 0.5 
bar_l = np.arange(1, 4) 
tick_pos = [i + (bar_width/2) for i in bar_l] 

ax1 = ax.bar(bar_l, A, width=bar_width, label="A", color="green") 
ax2 = ax.bar(bar_l, B, bottom=A, width=bar_width, label="B", color="blue") 
ax.set_ylabel("Count", fontsize=18) 
ax.set_xlabel("Class", fontsize=18) 
ax.legend(loc="best") 
plt.xticks(tick_pos, ["C1", "C2", "C3"], fontsize=16) 
plt.yticks(fontsize=16) 

for r1, r2 in zip(ax1, ax2): 
    h1 = r1.get_height() 
    h2 = r2.get_height() 
    plt.text(r1.get_x() + r1.get_width()/2., h1/2., "%d" % h1, ha="center", va="bottom", color="white", fontsize=16, fontweight="bold") 
    plt.text(r2.get_x() + r2.get_width()/2., h1 + h2/2., "%d" % h2, ha="center", va="bottom", color="white", fontsize=16, fontweight="bold") 

plt.show() 

Trả lời

2

Tại sao bạn đã viết va="bottom"? Bạn phải sử dụng va="center". enter image description here

+0

Cảm ơn! Tôi không biết tại sao ...: P – Bruno

Các vấn đề liên quan