Можно ли поместить математическую формулу (используя Latex) рядом с виджетом Slider в Matplotlib? - PullRequest
0 голосов
/ 28 апреля 2018

Мой вопрос в заголовке, как вы можете видеть на изображении ниже, моя переменная M2/M1, и мне интересно, можно ли заменить ее на $\dfrac{M_2}{M_1}$.

Я пытался:

axmass  = plt.axes([0.18, 0.1, 0.65, 0.03])
smass = Slider(axmass, '$\dfrac{M_2}{M_1}$', 1e-5, 1, 0)

Но я получаю следующую ошибку:

ValueError:
\dfrac{M_2}{M_1}
^
Unknown symbol: \dfrac (at char 0), (line:1, col:1)

enter image description here

1 Ответ

0 голосов
/ 28 апреля 2018

Вы можете, это должно работать, он добавляет r перед строкой, он использует \ frac вместо \ dfrac (режим отображения не поддерживается), он использует rc (если нет, результат уродлив).

После запроса я также добавил строку для вертикального центрирования дроби (если не линия дроби не выровнена по ползунку), я открыт для предложения о лучшем способе правильного расположения легенды!

Вот минимальный рабочий пример, адаптированный из этого вопроса ОБОРОТНОГО СТЕКА :

import matplotlib.pyplot as plt
import matplotlib.widgets

fig = plt.figure()
plt.rc('text', usetex=True)
E0_slider_ax = fig.add_axes([0.6, 0.2, 0.25, 0.03], facecolor="skyblue")
E0_slider =  matplotlib.widgets.Slider(E0_slider_ax, r'$\frac{M_3}{M_1}$', 1,  100, valinit = 50)
E0_slider.label.set_size(40)
E0_slider.label.set_position((-0.1,0)) #Probably not the best solution
plt.show()

enter image description here

Вы можете взглянуть на официальную документацию matplotlib по теме: https://matplotlib.org/users/usetex.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...