2012-07-29 35 views
8

Tôi đang sử dụng sau như một nhãn trục trong matplotlib:Làm thế nào để loại bỏ không gian lạ trong toán học LaTeX-phong cách trong âm mưu matplotlib

"Pixel Radiance ($W/m^2/\mu m$)" 

Nhưng khi tôi tạo ra một biểu đồ với điều này như trục y nhãn tôi có được hình ảnh dưới đây, trong đó có một không gian lạ giữa m^2 và \ mu mà làm cho nó trông khá lạ. Làm thế nào tôi có thể loại bỏ không gian lạ này?

example graph

Một ví dụ tái sản xuất, mà không sử dụng bất kỳ dữ liệu của riêng tôi, là:

from matplotlib.pyplot import * 
plot([1, 2, 3], [1, 2, 3]) 
ylabel("($W/{m^2}/\mu m$)") 
+2

Ký hiệu đơn vị SI thường không được là _italic_ – moooeeeep

+0

Rất khó để có được một chữ in nghiêng $ \ mu $. – mikuszefski

Trả lời

14

Bạn có thể sử dụng một không gian âm, \!:

r"Pixel Radiance ($W/m^2\!/\mu m$)" 

Ngẫu nhiên, tôi d khuyên bạn nên sử dụng các chuỗi thô với các công thức LaTeX, vì điều đó sẽ ngăn các lệnh LaTeX (hoặc một phần của chúng) được hiểu là dấu gạch chéo ngược: bạn có thể không muốn \tau kết thúc dưới dạng tab, theo sau là au.

+3

+1 cho đề xuất chuỗi thô –

1

Matplotlib cố gắng diễn giải mã latex và có phương pháp in văn bản riêng. Các kết quả không nhất thiết phải phù hợp với đầu ra của trình biên dịch Latex thực. Nếu bạn muốn hiển thị văn bản Latex thực, bạn phải bật tham số rc text.usetex. Điều này cũng cho phép bạn tải các gói Latex (như siunitx) và tạo các hình phù hợp với tài liệu của bạn nếu bạn dự định đưa chúng vào.

Không gian thừa sẽ không xuất hiện khi sử dụng Latex. Bạn chỉ có thể sử dụng workaround và thêm một không gian âm, nhưng tôi có xu hướng sử dụng Latex khi tạo số liệu cho tài liệu.

+0

Ồ, và một số quảng cáo cho chương trình phụ trợ Xelatex matplotlib của tôi :) https://github.com/pwuertz/matplotlib-backend-pgf – pwuertz

Các vấn đề liên quan