2010-10-26 30 views
7

Làm thế nào để cho thấy một công thức cao su dễ dàng trong python? Có lẽ numpy là sự lựa chọn đúng đắn?In mủ cao su có công thức với trăn

EDIT:

tôi có mã python như:

a = '\frac{a}{b}' 

và muốn in này trong sản lượng đồ họa (như matplotlib).

+0

gì bạn có nghĩa là 'công thức cho thấy mủ trong python'. Bạn có muốn trích xuất một công thức từ một tệp .tex và in nó vào stdout của python không, triển khai một công thức được hiển thị trong tệp .tex (pdf/ps) trong python hoặc cái gì? –

+0

Bạn có thể làm rõ? Bạn muốn in nó ở đâu? Bạn có muốn tạo hình ảnh hay bạn đang tìm kiếm thứ gì đó bên trong gui? – Wolph

+0

xin lỗi vì câu hỏi không rõ ràng. :/Vui lòng xem bản chỉnh sửa. – kame

Trả lời

8

Theo đề xuất của Andrew, hãy sử dụng matplotlib.

import matplotlib.pyplot as plt 
a = '\\frac{a}{b}' #notice escaped slash 
plt.plot() 
plt.text(0.5, 0.5,'$%s$'%a) 
plt.show() 
+0

Không có gì xảy ra. Tôi đã cài đặt matplotlib. – kame

+4

Tôi quên: plt.show() – kame

+0

Ai đó có thể giải thích dòng 3 cho tôi không? Là dấu chấm phẩy chỉ là một lỗi đánh máy? – Annan

3

Matplotlib có thể đã làm TeX, bằng cách đặt text.usetex: True trong ~/.matplotlib/matplotlibrc. Sau đó, bạn chỉ có thể sử dụng TeX trong tất cả các chuỗi hiển thị, ví dụ,

ylabel(r"Temperature (K) [fixed $\beta=2$]") 

(hãy chắc chắn để sử dụng $ như trong bình thường trong dòng TeX!). Các r trước khi chuỗi có nghĩa là không có thay thế được thực hiện; nếu không bạn phải thoát khỏi các dấu gạch chéo như đã đề cập.

Thông tin thêm tại trang web matplotlib.

+0

Matplotlibrc có trong thư mục matplotlib không? Tôi không thể tìm thấy nó:/ – kame

+0

Trên các hệ thống UNIX, nó nằm trong thư mục tôi đề cập ở trên. Trên cửa sổ, tôi không biết. Kiểm tra Tài liệu. –

+0

Tôi đang sử dụng Ubuntu 12 và matplotlib được cài đặt trong hệ thống (không phải người dùng), trong trường hợp của tôi là/etc/matplotlibrc –

1

Without ve:

a = r'\frac{a}{b}' 
ax = plt.axes([0,0,0.1,0.2]) #left,bottom,width,height 
ax.set_xticks([]) 
ax.set_yticks([]) 
plt.text(0.3,0.4,'$%s$' %a,size=40) 
Các vấn đề liên quan