2017-07-17 1 views
1

J'utilise la boîte à outils du fond de carte de matplotlib et j'ai du mal à faire en sorte que mes méridiens soient positifs à l'ouest par opposition à positifs à l'est. Est-ce encore possible avec le fond de carte? En plus de cela, j'ai des problèmes avec les instructions de formatage de chaîne données dans l'API du fond de carte (https://matplotlib.org/basemap/api/basemap_api.html). L'extrait de code que j'ai ci-dessous rend mes méridiens positifs à l'est, mais je ne suis pas sûr de savoir comment suivre les instructions de formatage de chaîne pour qu'il y ait un «E» ou un «W» après chaque incrément de tick. Qu'est-ce que je fais mal?Comment rendre vos méridiens positifs à l'ouest dans la boîte à outils basemap de matplotlib?

self.meridians = self.basemap_ax.drawmeridians(numpy.around(numpy.degrees(coord_lons)), 
    labels=[1,0,0,1], labelstyle='+/-', fmt="%s", linewidth=0.5, color='gray', yoffset=5) % "E" #This will be either "E" or "W" depending on whether the meridians are east-positive or west-positive. 

Voici une capture d'écran de ce que les méridiens ressemblent avec cet extrait de code:
screenshot

Merci! J'apprécie l'aide.

+0

Pourquoi ne pouvez-vous travailler juste avec l'est et à l'ouest étant positif étant négatif? – wwii

+0

Pour 90 degrés Est, que voulez-vous que l'étiquette de l'axe/tick * indique * – wwii

+0

En Est positif, tout devrait être en termes de Est. La capture d'écran que je joins est positive à l'est, c'est pourquoi les incréments vont (de gauche à droite) de -180 à +180. Dans l'ouest positif, tout devrait être en termes d'ouest. Dans ce cas, les incréments devraient aller de gauche à droite de +180 à -180. – Aang

Répondre

2

J'ai trouvé une réponse au problème du formatage de chaîne. Pour ajouter un « E » à la fin de chaque incrément de tique, je l'ai fait tout simplement:

self.meridians = self.basemap_ax.drawmeridians(numpy.around(numpy.degrees(coord_lons)), 
    labels=[1,0,0,1], labelstyle='+/-', fmt='%g' + 'E', linewidth=0.5, color='gray', yoffset=5)