2024-06-06 18:29:39 发布
网友
我正在使用一个函数,它返回一个乳胶代码字符串。我需要从中生成一个图像。我看到的大多数这样做的方法都建议通过将为我生成图像的子流程模块调用外部应用程序。
然而,管理层并不热衷于此,因为它将需要外部用户安装额外的软件,除了我们自己的软件,我们的用户群,这不是我们可以假设的一个简单的任务。
那么,是否有任何python库可以完成将latex转换为在GUI中显示的格式(如图像文件)的任务?
看看mathtex。
这个答案在提出问题时可能还没有,但我将为那些到2015年寻求解决办法的人补充这个答案。
可以使用matplotlib.pyplot在带有轴的图形中呈现一个方程,然后手动移除轴。您还可以使用sympy生成乳胶:
matplotlib.pyplot
sympy
#!/usr/bin/env python2.7 import matplotlib.pyplot as plt import sympy x = sympy.symbols('x') y = 1 + sympy.sin(sympy.sqrt(x**2 + 20)) lat = sympy.latex(y) #add text plt.text(0, 0.6, r"$%s$" % lat, fontsize = 50) #hide axes fig = plt.gca() fig.axes.get_xaxis().set_visible(False) fig.axes.get_yaxis().set_visible(False) plt.draw() #or savefig plt.show()
用sympy0.7.6和matplotlib1.4.3测试
0.7.6
1.4.3
SymPy有一个内置的预览功能来实现这一点。
expr = sin(sqrt(x**2 + 20)) + 1 preview(expr, viewer='file', filename='output.png')
产生
有lots of options到preview来更改输出的格式(例如,如果您不喜欢Euler字体,可以设置euler=False)。
preview
euler=False
preview也接受乳胶字符串,而不是SymPy表达式
preview(r'$$\int_0^1 e^x\,dx$$', viewer='file', filename='test.png', euler=False)
看看mathtex。
这个答案在提出问题时可能还没有,但我将为那些到2015年寻求解决办法的人补充这个答案。
可以使用
matplotlib.pyplot
在带有轴的图形中呈现一个方程,然后手动移除轴。您还可以使用sympy
生成乳胶:用sympy
0.7.6
和matplotlib1.4.3
测试SymPy有一个内置的预览功能来实现这一点。
产生
有lots of options到
preview
来更改输出的格式(例如,如果您不喜欢Euler字体,可以设置euler=False
)。preview
也接受乳胶字符串,而不是SymPy表达式相关问题 更多 >
编程相关推荐