首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改底图投影导致海滩球/数据消失(obspy)

更改底图投影导致海滩球/数据消失(obspy)
EN

Stack Overflow用户
提问于 2016-10-18 19:38:57
回答 1查看 102关注 0票数 0

有一个与我的problem here非常相似的问题,但是这个页面上推荐的解决方案在我的情况下不起作用。对于投影'cyl',绘制了沙滩球。将此投影更改为'robin‘(robinson)将创建不带数据(沙滩球)的投影。对于另一个类似的问题,建议使用:

代码语言:javascript
复制
x,y = map(lat, lon)

以便将坐标转换为适用的投影,但这也包含在我的代码中(见下文):

代码语言:javascript
复制
m = Basemap(projection='cyl', lon_0=0, resolution='c')
m.drawmapboundary(fill_color='cornflowerblue')
m.drawcountries()
m.fillcontinents(color='white',lake_color='cornflowerblue',
zorder=0)
m.drawcoastlines()
m.drawparallels(np.arange(-90.,120.,30.))
m.drawmeridians(np.arange(0.,420.,60.))

lats = [38.3215, -55.285, -56.241, -60.274]
lons = [142.36929, -31.877, -26.935, -46.401]

x, y = m(lons, lats)
focmecs = [[193, 9, 78], [301, 62, 84], [101, 69, -56], [190, 89, -140]]
eq_mw = [9.0, 7.4, 7.2, 7.7]

ax = plt.gca()
for i in range(len(focmecs)):
# Loop to set the tensor (beach ball) colors
eq = eq_mw[i]
if eq < 6:
    beachball_color = 'y'
elif 6 <= eq < 8:
    beachball_color = 'orange'
elif 8 <= eq:
    beachball_color = 'r'

b = beach(focmecs[i], facecolor=beachball_color, xy=(x[i], y[i]), width=10, linewidth=1, alpha=0.85)
b.set_zorder(10)
ax.add_collection(b)
EN

回答 1

Stack Overflow用户

发布于 2016-10-19 17:14:10

问题似乎出在投影和轴或数据坐标转换上。当宽度从10更改为1000000时,问题就解决了:

代码语言:javascript
复制
b = beach(focmecs[i], facecolor=beachball_color, xy=(x[i], y[i]), width=1000000, linewidth=1, alpha=0.85)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40107244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档