Actually I tried 2 ways to display mathematical notation on Kivy Label:
(Each of way includes SymPy or Matplotlib)
1- Use SymPy printing module
from sympy import *
...
init_printing(use_unicode=True)
Do not forget this piece display mathematical notation but you have to use needed font name for Kivy label to display mathematical notation perfectly. I know one, it's "dejavusans mono" yeah this is monospace font.
2- Use Matplotlib. turn to png then display the png on Kivy Image
here is good example display math symbols with matplotlib
*(here is sample code):
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.boxlayout import BoxLayout
from kivy.lang.builder import Builder
from sympy import *
x,y,z = symbols('x y z')
init_printing(use_unicode=True)
kiv=Builder.load_string("""
<MainScreen>:
BoxLayout:
orientation:'vertical'
Label:
id:lbl1
text:'math-equation'
markup:True
#font_name:'dejavusansmono.ttf' ----here your monospace font
Label:
id:lbl2
text:'math-equation'
markup:True
#font_name:'dejavusansmono.ttf' ----here your monospace font
Button:
id:btn
text:'Display'
on_press:root.display()
""")
class MainScreen(BoxLayout):
def display(self):
expression=Derivative(sqrt(x+2)*cos(x+2), x)
answer=expression.doit()
good_symbols1=pretty(expression)
good_symbols2=pretty(answer)
self.ids.lbl1.text=good_symbols1
self.ids.lbl2.text=good_symbols2
class Example(App):
def build(self):
scr=MainScreen()
return scr
Example().run()
[Out]: 