Meiiso
Meiiso

Reputation: 399

Python Basemap plots text or annotate at lower left only

the problem is basemap/matplotlib plots a given text always on the lower left corner...

i tried many ways but that doesnt work:

# Set up plot
fig, ax = plt.subplots(figsize=(15,15))


m1 = Basemap(projection='merc',
             llcrnrlat=8.3,
             urcrnrlat=53.9,
             llcrnrlon=94.0,
             urcrnrlon=147.6,
             lat_ts=0,
             resolution='c')

m1.fillcontinents(color='#191919',lake_color='#000000') # dark grey land, black lakes
m1.drawmapboundary(fill_color='#000000')                # black background
m1.drawcountries(linewidth=0.1, color="w")              # thin white line for country borders
m1.drawstates(linewidth=0.1, color="w")


# Plot the data
mxy = m1(new_results["Longitude"].tolist(), new_results["Latitude"].tolist())
m1.scatter(mxy[0], mxy[1], s=300,c=np.divide(new_results["SumVolume"],100000000), lw=0, alpha=1, zorder=5,cmap='Reds')
ax.annotate("blablabla", (121.597366,25.105497),color='green')

#colorbar
plt.colorbar(label=r'24H Trading-Volume in MillionK$')
plt.clim(1, 21)
plt.title("Cryptocurrency capital movement - Asia")

The Plot:

enter image description here

Whats the problem?

    ax.annotate("blablabla", (121.597366,25.105497),color='green')

doesnt work like i want. the coordinates (121.597366,25.105497) is one point on the map. By the way, it does not matter which X, Y. He always writes it in the bottom left corner

Upvotes: 3

Views: 1379

Answers (1)

swatchai
swatchai

Reputation: 18812

As my comment has been confirmed, I should conclude that the fix to the problem is concerning coordinate transformation. And the new code for the troubled part is:

ax.annotate("blablabla", m1(121.597366,25.105497),color='green')

Upvotes: 3

Related Questions