Đây không phải là câu trả lời cho câu hỏi ban đầu của bạn cũng như một trong những câu hỏi bạn có trong phần nội dung câu hỏi.
Mở đầu một chút, để việc đặt tên của tôi không có vẻ lạ:
import matplotlib
from matplotlib import rc
from matplotlib.figure import Figure
ax = self.figure.add_subplot( 111 )
Như đã đề cập, bạn có thể sử dụng ticklabel_format để chỉ định rằng matplotlib nên sử dụng ký hiệu khoa học cho các giá trị lớn hoặc nhỏ:
ax.ticklabel_format(style='sci',scilimits=(-3,4),axis='both')
Bạn có thể ảnh hưởng đến cách hiển thị điều này bằng cách sử dụng các cờ trong rcParams (từ matplotlib import rcParams) hoặc bằng cách đặt chúng trực tiếp. Tôi chưa tìm ra cách thay đổi giữa ký hiệu khoa học '1e' và 'x10 ^' tốt hơn là:
ax.xaxis.major.formatter._useMathText = True
Điều này sẽ cung cấp cho bạn nhiều Matlab-esc hơn và thực sự được cho là ngoại hình đẹp hơn. Tôi nghĩ những điều sau đây cũng nên làm tương tự:
rc('text', usetex=True)