Đối với hầu hết các âm mưu tương tác của tôi với matplotlib, tôi không muốn sử dụng chế biến latex của toán học. (Chủ yếu là vì nó quá chậm, nhưng cũng bởi vì nó chỉ là một chút quá mờ để sử dụng thường xuyên IMHO.) Nhưng tôi cũng sử dụng các macro của riêng tôi tất cả thời gian khi viết mủ. Chỉ là một ví dụ, thay vì làm một cái gì đó như $M_{\odot}$
tôi xác định $\Msun$
. Vì vậy, khi sử dụng matplotlib, tôi có xu hướng chỉ viết tự động sau, và sau đó nhận được một lỗi và phải sửa chữa nó. Đây chỉ là một ví dụ đặc biệt đơn giản, và tôi muốn có sự linh hoạt để xác định lại một vĩ mô trong các bài báo của tôi và các lô của tôi cùng một lúc mà không có quá nhiều công việc.Mở rộng trình phân tích cú pháp mathtext matplotlib
Vì vậy, có cách nào tốt đẹp hợp lý để tôi có thể mở rộng trình phân tích cú pháp mathtext để hiểu những thứ như $\Msun$
không? Hoặc tôi sẽ phải hack mathtext.py hoặc một cái gì đó?
(dự phòng của tôi là xác định Msun
như chuỗi r'M_{\odot}'
vì vậy tôi có thể viết một cái gì đó giống như r'$M = 10\,' + Msun + '$'
, nhưng đó là khó chịu và chắc chắn sẽ không có bất kỳ tự động hơn đối với tôi.)
Và để tiết kiệm nỗ lực viết, bạn có thể thực hiện chức năng 'văn bản' của riêng bạn mà trước tiên gọi là 'mở rộng' và sau đó chuyển kết quả đến 'văn bản' của matplotlib. Bây giờ bạn chỉ cần gọi mike.text (x, y, '$ \ Msun $') hoặc bất kỳ macro latex nào bạn thích. – Daan
Vâng, điều này sẽ hoạt động. Hơn nữa, vì tôi chỉ sử dụng 'ipython --pylab', tôi nghĩ rằng tôi có thể' del text', sau đó nhập 'mike.text', sẽ gọi' matplotlib.pyplot.text' - và tương tự cho 'xlabel', 'ylabel', vv (Mặc dù tôi là một newbie python, vì vậy hãy sửa tôi nếu đó là ngu ngốc.) Cảm ơn! – Mike