2017-11-13 5 views
0

Ich habe mich gefragt und suche in der docs: gibt es eine Möglichkeit, das Gebietsschema zu setzen, zum Beispiel Kommas anstelle von Punkten als Trennzeichen für Dezimalzahlen in Cartopy Ticklabels zu verwenden?Set locale zu Cartopy Ticker

In Matplotlib kann es getan werden, aber es gilt nicht für LongitudeFormatter und LatitudeFormatter von cartopy.mpl.ticker.

Vielleicht ist es etwas für die Entwickler, in neueren Versionen hinzuzufügen?

+0

die Rasterlinien Objekt verfügt über eine Eigenschaft ‚xformatter‘ und ‚yformatter‘, die bis * hat * eine ‚set_useLocale‘ Methode - in der aufrufenden Umgebung
zu sein. Also kann ich 'gl = ax.gridlines (draw_labels = True)', dann 'gl.xformatter.set_useLocale (True) ' Haben Sie das versucht + es funktioniert definitiv nicht? –

Antwort

0

Nichts besonderes an LongitudeFormatter und LatitudeFormatter, sie sind nur spezialisierte Formatierer.
Das Objekt gridlines hat also die Eigenschaften 'xformatter' und 'yformatter', die eine Methode 'set_useLocale' haben.

Dieser arbeitete für mich ...

>>> ax = plt.gca() 
>>> gl = ax.gridlines(draw_labels=True, 
...     xlocs=[-120.5, -50.8, 30.7, 134.2, 157.8]) 
>>> gl.xformatter.set_useLocale(True) 
>>> plt.show() 

aber Sie haben die Maschine Gebietsschema gesetzt haben, mit zu beginnen. Um das zu bekommen „“ numeric seperators, begann ich mit:

$ export LC_NUMERIC="it_IT.UTF-8" 
$ python 

Ich weiß nicht viel darüber, aber ich glaube, Sie nicht Änderung dieser dynamisch durch die Python-Schnittstelle, es braucht siehe Setting Python locale doesn't work

+0

Es funktioniert für das Komma, aber ich verwende nicht "ax.gridlines", und ich möchte nicht die Gitternetzlinien selbst. Ich benutze 'ax.set_yticks' und dann' LongitudeFormatter' und 'LatitudeFormatter', um die °, W und S in die Tickletiketten zu schreiben – hperes