Tôi đã tạo ra biểu đồ thanh mà trông như thế này:Barh matplotlib tạo khoảng cách rung rinh giữa thanh
ý rằng khoảng cách thẳng đứng trên nhãn không đồng đều vì một lý do; Tôi không chắc chắn nếu điều này đã làm với cách tôi đã chỉ định ve hoặc bất cứ cơ chế thực sự đặt văn bản. Mã có liên quan:
height_factor = 40.0
ind = np.linspace(0,len(sorted_totals)*height_factor,num=len(sorted_totals))
width = 0.25
fig = plt.figure(figsize=(15.5, 8.75),dpi=300)
p1 = plt.barh(ind,map(int,sorted_composite[:,0]),color='blue',align='center',height=height_factor)
p1 = plt.barh(ind,map(int,sorted_composite[:,2]),color=(0.75,0.1,0.1),align='center',height=height_factor)
plt.ylabel('# of Picks (blue) + # of Bans (red)')
plt.yticks(ind, sorted_totals[:,0])
plt.subplots_adjust(bottom=0.05, left=0.14,right=0.95,top=0.95)
plt.ylim([ind.min() - height_factor, ind.max() + height_factor])
Dữ liệu của tôi được lưu trữ trong selected_composite và ind là các giá trị tôi đang sử dụng để đặt thanh (vị trí ytick). Tôi đang sử dụng khoảng trống để tạo ra các thanh cách đều nhau và loại công việc duy nhất này và tôi không chắc chắn chính xác lý do tại sao.
Tôi đã suy nghĩ rằng vấn đề của bạn có thể liên quan đến việc có tất cả những thanh chứ không phải nhồi nhét, nhưng tôi đã cố gắng mã của bạn từ 5 đến ~ 50 thanh và không có vấn đề ở đây. –
Vâng, tôi có cảm giác đó là vấn đề làm tròn vị trí pixel.tức là nếu bạn có chiều cao hình ảnh 8 pixel và muốn vẽ một đường thẳng qua trung tâm, bạn vẽ nó dọc theo hàng pixel 4 hoặc hàng pixel 5; một trong hai cách trông xấu – user1127062
Trên một mặt lưu ý tôi nhận được kết quả xấu ngay cả với một trường hợp thử nghiệm tầm thường: 'từ nhập khẩu NumPy * ' từ pylab nhập khẩu * data = số không (50) 10 ind = arange (10) barh (ind, data) show() ' Trông khá xấu – user1127062