Python Spyder 显示符号数学
在Spyder 2(Anaconda发行版)和IPython QT控制台中,我可以打印出符号计算的结果(这是我之前帖子得到的答案),但是我无法让字符串中的方程式通过IPython的丰富显示系统打印出来:
from sympy import *
from IPython.display import display, Math
init_printing(use_unicode=False, wrap_line=False, no_global=True)
x, y, z = symbols('x y z')
#----- prints correctly
ii = integrate(x**2 + x + 1, x)
display(ii)
#----- does not print
Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx')
上面的代码可以正确打印出积分的结果,但Math()却没有打印出来(没有错误提示,只是跳过了)。请注意,这在SciPy的网页笔记本中是可以正常工作的。
谢谢!
2 个回答
-1
大家好,我还是遇到了问题,当我在
from IPython.display import display, Math, Latex
display((Math(r'P(Purchase|Male)= \frac{Numero\ total\ de\ compras\ hechas\ por\ hombres\}{Total\ de\ hombres\ en\ el\ grupo\} = \frac{Purchase\cap Male}{Male}')))
上使用时,一切都很好,但当我在Spyder上运行完全相同的代码时,它就不工作了。
我使用的是Python 3.6,Spyder 3.3.3。
另外,我也试过标记的答案,但在Spyder上使用latex_to_png时出现了NoneType对象的问题。
5
Math
这个类并不能直接把你的Latex代码变成图片,所以它不能直接使用。
要实现你想要的效果,你需要使用以下代码:
from IPython.display import Image, display
from IPython.lib.latextools import latex_to_png
eq = r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx'
data = latex_to_png(eq, wrap=True)
display(Image(data=data))
这样你就能看到正确的图片了。