Search code examples
datetimematplotlibnon-english

English as language for the dates ticks using matplotlib


I'm a French native speaker, so my OS interface (GNU/Linux Xubuntu) is in French

Thus, when I plot a time series using Matplotlib with datetime as X data, the returned plot have the months written in French

How can I obtain those printed dates in another language (typically English) ?


Solution

  • You can set the desired location/language using the locale module. To get English, try setting locale to en_US.

    EDIT: In bash on Ubuntu, you may need to use en_US.utf8

    In [1]: import datetime 
    
    In [2]: import locale
    
    In [3]: locale.setlocale(locale.LC_ALL,'fr_FR')
    Out[3]: 'fr_FR'
    
    In [4]: datetime.datetime(2015,7,1).strftime('%B')
    Out[4]: 'juillet'
    
    In [5]: locale.setlocale(locale.LC_ALL,'en_US')
    Out[5]: 'en_US'
    
    In [6]: datetime.datetime(2015,7,1).strftime('%B')
    Out[6]: 'July'