Wil*_*laB 5 python scatter matplotlib matplotlib-basemap
我试图使用散点图在'hammer'底图上绘制数据集.但是,数据点不会在各大洲之上绘制.我注意到在matplotlib 示例中,大陆上也没有数据(我假设这是由于示例的性质).我想知道我是否做错了什么,或者是否使用"锤子"设计无法在各大洲上绘制数据.
如果是这种情况,是否有一个理想的底图用于在整个地球上绘制散点图数据(使用浮雕图会很棒,但此时我会满足于什么)?
您可能错过了解释lat-lon数据的关键字.从Basemap.scatter的帮助:
如果
latlon关键字设置为True,则x,y以度为单位表示为经度和纬度.数据和经度自动移位以匹配圆柱形和假圆柱形投影的地图投影区域,并且x,y被转换为地图投影坐标.如果latlon为False(默认),则假定x和y为地图投影坐标.
我还需要增加z次序以分散在大陆和海洋之上.
import time, calendar, datetime, numpy
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
# draw map with markers for float locations
m = Basemap(projection='hammer',lon_0=180)
m.drawmapboundary(fill_color='#99ffff')
m.fillcontinents(color='#cc9966',lake_color='#99ffff')
m.scatter([-73.98, 238., 0.08, 0., 116.38],[40.78,47.6, 51.53,0., 39.91],
latlon=True, # Ta-da!
marker='o',color='k',
zorder=10)
plt.title('Hammer projection, data on top',fontsize=12)
plt.show()
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
3133 次 |
| 最近记录: |