I'm trying to add some text to my plot which is RTL (in this case, Hebrew). After some work managed to get it to display the text, but it's displayed LTR (meaning, in the reverese order). I've dug into the reference and did extensive search online and nothing came up.
An example for what I'm using:
import matplotlib.pyplot as plt
plt.text(0.5, 0.5, u'שלום כיתה א', name = 'Arial')
plt.show()
and it displays 'א התיכ םלוש'. In case you can't see the Hebrew, it's as if i'd input 'Hello', and the output would be 'olleH'.
I can't simply reverse the input since it's mixed LTR and RTL.
Every help would be appreciated.
For Arabic you need both bidi.algorithm.get_display
and arabic_reshaper
modules:
from bidi.algorithm import get_display
import matplotlib.pyplot as plt
import arabic_reshaper
reshaped_text = arabic_reshaper.reshape(u'لغةٌ عربيّة')
artext = get_display(reshaped_text)
plt.text(0.25, 0.45, artext , name = 'Times New Roman',fontsize=50)
plt.show()