Tôi có một hình matplotlib mà tôi đang vẽ dữ liệu luôn được gọi là nano giây (1e-9). Trên trục y, tức là nếu tôi có dữ liệu hàng chục nano giây. 44e-9, giá trị trên trục hiển thị là 4,4 với + 1e-8 làm phần bù. Có cách nào để buộc trục hiển thị 44 với độ lệch + 1e-9 không?
Điều tương tự cũng xảy ra với trục x của tôi, nơi trục hiển thị + 5.54478e4, trong đó tôi muốn nó hiển thị mức bù là +55447 (số nguyên, không có số thập phân - giá trị ở đây tính bằng ngày).
Tôi đã thử một vài thứ như sau:
p = axes.plot(x,y)
p.ticklabel_format(style='plain')
cho trục x, nhưng điều này không hoạt động, mặc dù có thể tôi đang sử dụng nó không chính xác hoặc hiểu sai điều gì đó từ tài liệu, ai đó có thể chỉ cho tôi hướng chính xác không?
Cảm ơn, Jonathan
Tôi đã thử làm điều gì đó với bộ định dạng nhưng vẫn chưa tìm thấy giải pháp nào ...:
myyfmt = ScalarFormatter(useOffset=True)
myyfmt._set_offset(1e9)
axes.get_yaxis().set_major_formatter(myyfmt)
và
myxfmt = ScalarFormatter(useOffset=True)
myxfmt.set_portlimits((-9,5))
axes.get_xaxis().set_major_formatter(myxfmt)
Một lưu ý nhỏ, tôi thực sự bối rối không biết đối tượng 'số bù đắp' thực sự nằm ở đâu ... nó có phải là một phần của dấu tích chính / phụ không?
set_units
chưa? matplotlib.sourceforge.net/api/… (Tôi không thể thử vì tôi không có matplotlib ở đây.)