Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 501
Meiiso Avatar asked Mar 08 '26 19:03

Meiiso


1 Answers

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')
like image 115
swatchai Avatar answered Mar 10 '26 09:03

swatchai



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!