Tôi đang sử dụng matplotlib để tạo thanh dọc (dọc). Vấn đề là nhãn của tôi khá dài. Có cách nào để hiển thị chúng theo chiều dọc, hoặc trong thanh hoặc phía trên nó hoặc bên dưới nó?Barchart với nhãn dọc trong python/matplotlib
Trả lời
Bạn có nghĩa là một cái gì đó như thế này:
>>> from matplotlib import *
>>> plot(xrange(10))
>>> yticks(xrange(10), rotation='vertical')
?
Nói chung, để hiển thị bất kỳ văn bản nào trong matplotlib có hướng dọc, bạn có thể thêm từ khóa rotation='vertical'
.
Đối với tùy chọn tiếp tục, bạn có thể nhìn vào sự giúp đỡ (matplotlib.pyplot.text)
Chức năng yticks âm mưu ve trên trục y; Tôi không chắc chắn liệu ban đầu bạn có nghĩa là chức năng này hay chức năng ylabel, nhưng thủ tục là alwasy giống nhau, bạn phải thêm rotation = 'vertical'
Có lẽ bạn cũng có thể tìm thấy các tùy chọn 'verticalalignment' và 'horizontalalignment' , cho phép bạn xác định cách căn chỉnh văn bản với ve hoặc các yếu tố khác.
Tôi khuyên bạn nên xem the matplotlib gallery. Ít nhất hai trong số những ví dụ dường như có liên quan:
- text_rotation.py để tìm hiểu cách bố trí văn bản làm việc
- barchart_demo2.py, một ví dụ về một biểu đồ thanh với cách bố trí hơi phức tạp hơn ví dụ cơ bản nhất.
Trong Jupyter Máy tính xách tay, bạn có thể sử dụng một cái gì đó như thế này
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
plt.xticks(rotation='vertical')
plt.plot(np.random.randn(100).cumsum())
hoặc bạn có thể sử dụng:
plt.xticks(rotation=90)
Lưu ý rằng tôi không sử dụng cốt truyện(); nhưng thanh(). Nhưng rotation = 'vertical' có vẻ là chìa khóa. Tuy nhiên, điều này vẫn không vẽ ve trong các thanh. – phihag
Bạn có nghĩa là các con ve trong trục xy? Hãy xem xét chức năng lưới. Ví dụ lưới (ls = '', marker = 'v'). lưới() điều khiển âm mưu của lưới trên trục xy; với tùy chọn đánh dấu bạn xác định stile cho các điểm đánh dấu, và với ls = '' bạn sẽ có một lưới vô hình. – dalloliogm
@dalloliogm âm thanh tốt – phihag