Tôi làm cách nào để chú thích phạm vi dữ liệu của mình? Ví dụ: giả sử dữ liệu từ x = 5
đến x = 10
lớn hơn một số lần cắt, làm cách nào tôi có thể chỉ ra rằng trên biểu đồ. Nếu tôi đã chú thích bằng tay, tôi sẽ chỉ vẽ một khung lớn phía trên phạm vi và viết chú thích của tôi lên trên khung.Phạm vi chú thích dữ liệu trong matplotlib
Gần nhất tôi thấy là sử dụng arrowstyle='<->'
và connectionstyle='bar'
, để làm cho hai mũi tên trỏ đến các cạnh của dữ liệu của bạn với một đường nối đuôi của chúng. Nhưng điều đó không hoàn toàn làm điều đúng; văn bản bạn nhập cho chú thích sẽ kết thúc dưới một trong các mũi tên, chứ không phải phía trên thanh.
Đây là nỗ lực của tôi, cùng với kết quả của nó:
annotate(' ', xy=(1,.5), xycoords='data',
xytext=(190, .5), textcoords='data',
arrowprops=dict(arrowstyle="<->",
connectionstyle="bar",
ec="k",
shrinkA=5, shrinkB=5,
)
)
Một vấn đề khác với giải pháp đã cố gắng của tôi là hình dạng bình phương của khung chú thích không thực sự làm cho nó rõ ràng rằng tôi làm nổi bật một phạm vi (không giống như, ví dụ, một dấu ngoặc nhọn). Nhưng tôi cho rằng điều đó thật là khó tính vào thời điểm này.
sử dụng hai chú thích, một với văn bản, nhưng không có mũi tên, và một với mũi tên, nhưng không có bản văn. Ngoài ra, hãy xem 'axvspan' http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes.axvspan – tacaswell
Nó cũng là cách tốt nhất để hiển thị những gì bạn đã thử (với một đoạn mã). – tacaswell
@tcaswell Tôi đã nghĩ đến việc sử dụng hai chú thích, nhưng điều đó sẽ liên quan đến việc định vị văn bản theo cách thủ công và phải cập nhật thủ công cả hai cách, nếu, phạm vi di chuyển. Dường như nó sẽ là một vấn đề đủ phổ biến mà một giải pháp tối ưu hơn sẽ tồn tại. – ari