Pull to refresh

Рендеринг формул LaTeX средствами matplotlib на Python

В одном из проектов потребовалось получить множество изображений формул, написанных в формате LaTeX…

Поскольку сам проект пишется на Python, то и конвертер решено было писать на нём-же. В итоге конвертер приобрел следующий вид:

import matplotlib.pyplot as plt

tex = '$\\frac{1}{\\sqrt{2\\sqrt{2\\pi}}} \\exp\\left(-\\frac{(x-\\mu)^2}{2\\sigma^2}\\right)$'

### Создание области отрисовки
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.set_axis_off()

### Отрисовка формулы
t = ax.text(0.5, 0.5, tex,
        horizontalalignment='center',
        verticalalignment='center',
        fontsize=20, color='black')
        
### Определение размеров формулы
ax.figure.canvas.draw()
bbox = t.get_window_extent()
print bbox.width, bbox.height

# Установка размеров области отрисовки
fig.set_size_inches(bbox.width/80,bbox.height/80) # dpi=80

### Отрисовка или сохранение формулы в файл
#plt.show()
plt.savefig('test.svg')
#plt.savefig('test.png', dpi=300)


Как видно, используется библиотека matplotlib, чья многогранность и широта возможностей поражает воображение.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.