2013-04-07 25 views
5

Khi tôi cung cấp cho matplotlib một chuỗi chú thích nhưmatplotlib mathtext frac là quá nhỏ

'$\frac{A}{B} = C$' 

và tôi chỉ định một fontsize 18, A và B được trả lại tại 12,6 pt, trong khi C được hiển thị ở 18 pt. Tôi muốn A, B, và C cho tất cả đều có cùng kích cỡ. Làm thế nào để tôi làm điều này?

Trong một tài liệu LaTeX, nếu bạn cung cấp cho các lệnh

\begin{equation} 
\frac{A}{B} = C 
\end{equation} 

bạn sẽ có được một phần nhỏ, trong đó A, B, và C là tất cả các kích thước như nhau, nhưng nếu bạn làm

$\frac{A}{B} = C$ 

nội tuyến với văn bản, bạn nhận được A và B trả lại ở 12,6 pt, trong khi C được trả lại ở 18 pt. Do đó nó xuất hiện mathtext của matplotlib là mô phỏng chế độ nội tuyến của LaTeX. Trong LaTeX bạn có thể viết

$\displaystyle\frac{A}{B} = C$ 

và sau đó A, B và C đều có cùng kích thước, ngay cả ở chế độ nội tuyến. Tôi đã thử điều này trong matplotlib, nhưng mathtext không nhận ra lệnh \ displaystyle. = (

Có cách nào để làm điều này để làm việc trong văn bản toán học của Matplotlib hay không, tôi có đang thay đổi văn bản.usetex thành true trong tệp .matplotlibrc của mình không? (Nếu có thể tôi muốn ở lại với mathtext vì nó rất nhiều nhanh hơn)

thiết lập của tôi:. matplotlib v1.2.0 python 2.7 OS X 10.8

+0

Có thể thấy một số ý tưởng trong [Đặt kích thước phông chữ toán học] (http://tex.stackexchange.com/q/94232/5764) giải quyết được sự cố của bạn. – Werner

+0

@Werner Cảm ơn bạn đã liên kết, nhưng tôi không tìm thấy bất kỳ thứ gì hoạt động. Các lệnh \ Large, \ Huge, \ small, etc chỉ hoạt động cho chế độ văn bản hoặc phương trình. Chúng không hoạt động ở chế độ toán học nội tuyến ($ ... $), là chế độ duy nhất cho mathtext. Phần còn lại của cuộc thảo luận trong liên kết dường như chỉ liên quan đến Matlab. Có lẽ tôi chỉ cần hỏi các nhà phát triển matplotlib nếu họ có thể thực hiện \ displaystyle thành mathtext. – Stretch

+0

Làm điều đó, báo cáo lại và chia sẻ với cộng đồng. – Werner

Trả lời

1

Như bạn nói, bạn có thể sửa chữa nó bằng cách sử dụng \ displaystyle:

$\displaystyle\frac{A}{B} = C$ 

để một llow matplotlib sử dụng mủ cao cho tất cả các xử lý văn bản mà bạn phải xác định trong matplotlibrc bạn biến text.usetex như thật:

text.usetex   : True 

tôi đã thực hiện một ví dụ nhỏ để xác minh nó và nó đang làm việc tốt:

import matplotlib.pyplot as plt 
plt.plot(range(200)) 
plt.text(100,50,r'$\displaystyle\frac{A}{B}=C$') 

Tôi rất tiếc nhưng vì tôi mới, tôi không thể đăng bất kỳ hình ảnh nào.

+0

Cảm ơn nhận xét của bạn. Như tôi đã đề cập ở cuối bài đăng của mình, tôi không muốn sử dụng latex cho tất cả các thao tác xử lý văn bản. Nó khá chậm. Tôi muốn sử dụng mathtext. – Stretch

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