【问题标题】:Matplotlib, dynamically changing width of plotMatplotlib,动态改变绘图宽度
【发布时间】:2016-12-17 15:58:35
【问题描述】:

所以我有一个完全黑色的 matplotlib 图,所有轴都被禁用,图中唯一出现的是白色文本,包含用户输入的数学表达式,它作为参数传递给渲染函数'表达式'。

def render(expr, path, width, x, y):
    fig = plt.figure(figsize=(width, 16  if 'begin' in expr else 12))
    plt.text(x, y, expr, fontsize=320, fontweight='bold', color='white')
    fig.set_facecolor('#000000')
    plt.axis('off')
    plt.savefig(path, facecolor=fig.get_facecolor())
    plt.clf()

'width' 是绘图的宽度,目前我有一个不智能的系统在明文表达式的长度和绘图的宽度之间建立关系,但它并不完全适用于矩阵绘图有多条线路,现有的系统显然不能很好地工作。

我希望根据白色文本在绘图上的延伸量来计算绘图所需的宽度,所以一旦文本横向完成,我希望绘图在那里结束,有没有办法做到这一点?/ 检测白色文本何时结束?

这是为了在表达式之后没有太多的黑色空间,减慢渲染到 .png 的时间并浪费空间。由于绘图与表达式的宽度相同

【问题讨论】:

标签: python matplotlib latex


【解决方案1】:

github 上有一个完整的工作解决方案:

将 LaTeX 方程绘制为 matplotlib 图 by ahwillia

https://gist.github.com/ahwillia/c7e54f875913ebc3de3852e9f51ccc69


github 上还有另一个可用的模块(也)在命令行上工作:

texscrap - johnjosephhorton

的 Python 实用程序,用于使用 LaTeX 的碎片制作 PDF

https://github.com/johnjosephhorton/texscrap

【讨论】:

  • 太好了,谢谢,显然调整大小部分是我需要的。
猜你喜欢
  • 1970-01-01
  • 2011-10-14
  • 2011-01-11
  • 2011-01-04
  • 1970-01-01
  • 2012-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多