【发布时间】:2013-01-01 13:04:31
【问题描述】:
使用 python 库 matplotlib,我发现了可以解决这个问题的方法:
Displaying (nicely) an algebraic expression in PyQt by using matplotlibs TeX markup。
我想做的是从我的 python 程序中获取表示数学表达式的 TeX 代码,并将其保存到可以在我的 PyQt GUI 中显示的图像中,而不是以丑陋的纯文本显示方程。
本质上是这样的......
import matplotlib.pyplot as plt
formula = '$x=3^2$'
fig = plt.figure()
fig.text(0,0,formula)
fig.savefig('formula.png')
但是,pyplot 模块主要用于显示图形和绘图,而不是我需要的文本样本。该代码的结果通常是一个巨大的白色空白图像左下角的一小段文本。
如果我的公式涉及分数,因此需要向下的空间,它会被截断,如下图所示。
请注意,这显示的是空白图像;查看显示屏左侧
Fraction at coordinate (0,0) truncated and surrounded by whitespace
我相信我可以创建一个非常大(空间明智)的图形,将公式写在空白图的中间,保存它,然后使用像素分析将其修剪为尽可能小的图像,但这似乎相当粗制滥造。
绘图是 matplotlib 的唯一预期输出吗?
有没有什么专门用于输出方程式,不需要我担心文本的所有额外空间或位置?
谢谢!
【问题讨论】:
-
你需要使用matplotlib吗?也许这很有趣:stackoverflow.com/questions/617668/…
-
该页面上的链接已损坏
-
我找到了该实用程序; SVG数学。这需要在用户机器上安装,我发现即使对于那个问题(提到独立性),它也是一个糟糕的解决方案。我可以用我的代码编译和捆绑 matplotlib。
标签: python image matplotlib equation tex