Tôi đang tạo biểu đồ hình tròn theo matplotlib-demo: http://matplotlib.org/examples/pylab_examples/pie_demo.html
Phần trăm của mỗi frac có vẻ được tự động gắn nhãn. Làm cách nào tôi có thể thay thế các giá trị tương đối được gắn nhãn tự động (%) này được vẽ trên biểu đồ hình tròn bằng các giá trị tuyệt đối từ các dấu ngoặc vuông []?Biểu đồ hình tròn Matplotlib: Cách thay thế giá trị tương đối được gắn nhãn tự động theo giá trị tuyệt đối
7
A
Trả lời
10
help(pie)
nói:
*autopct*: [ *None* | format string | format function ]
If not *None*, is a string or function used to label the
wedges with their numeric value. The label will be placed inside
the wedge. If it is a format string, the label will be ``fmt%pct``.
If it is a function, it will be called.
vì vậy bạn có thể biến tỷ lệ trở lại giá trị ban đầu bằng cách nhân tổng kích thước của chiếc bánh và chia cho 100:
figure(1, figsize=(6,6))
ax = axes([0.1, 0.1, 0.8, 0.8])
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
fracs = [15, 30, 45, 10]
total = sum(fracs)
explode=(0, 0.05, 0, 0)
pie(fracs, explode=explode, labels=labels,
autopct=lambda(p): '{:.0f}'.format(p * total/100),
shadow=True, startangle=90)
show()
Để hiển thị cả phần trăm và tổng số: http://stackoverflow.com/questions/6170246/how-do-i-use-matplotlib-autopct – zehpunktbarron
Đó phải là 'lambda p' trong mã đó, không có dấu ngoặc đơn. –
@ K.-MichaelAye: Các dấu ngoặc đơn là hợp pháp trong Python 2.7 - lưu ý ngày câu trả lời được viết. –