从'数据'转换xy对的坐标。到轴分数'

时间:2016-03-02 15:38:47

标签: python python-2.7 matplotlib matplotlib-basemap

一种。背景

我用Python-matplotlib绘制了Chloropleth图 ax.textax.annotate函数存在一些错误,我在此处发帖寻求帮助。

B中。我的问题

一个。当我使用下面的代码在地图上添加一些字符串时:

ax.annotate("LOL",xy=(114.5,38.5), xycoords = 'data',fontsize = 15, 
                 fontstyle = 'italic',zorder =3) `

无论我更改 xypairs ,字符串" LOL"始终位于左下角位置。该图显示如下:

http://i4.tietuku.com/620a3bb6052d7859.png

B中。更改xycoords类型:

ax.annotate("LOL",xy=(0.4,0.6),xycoords='axes fraction',    
             fontsize = 15, fontstyle = 'italic',zorder =3,color = 'w')   

该图显示如下:

http://i11.tietuku.com/f1e175b427377160.png

℃。我的分析

我认为由于投影设置可能会出现问题。为了添加地图比例,我选择tmerc投影:

map = Basemap(projection='tmerc', lon_0 =xxx, lat_0 = xxx,
             ellps = 'WGS84', llcrnrlon=xxx,llcrnrlat=xxx,urcrnrlon=xxx,
             urcrnrlat=xxx,lat_ts=0,resolution='i',suppress_ticks=True)

当我使用map = basemap(llcrnrlon=xxx ,llcrnrlat=xxx, urcrnrlon=xxx, urcrnrlat=xxx)时,xycoords = 'data'类型工作正常。

但是我的角色是基于数据点(代表每个多边形的区域名称),data类型是我需要选择的。所以,我想学习一些可以将data类型的xypairs更改为axes fraction类型的函数。然后,问题就可以解决了!

0 个答案:

没有答案