首页 > 解决方案 > 在地图上绘制焦点机制

问题描述

我试图在地图上绘制焦点机制,但它只是出现的地图。由于 focmecs 不在地图上,因此看到我做错了什么的人。我没有收到任何错误消息。

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
from obspy.imaging.beachball import beach


plt.figure(figsize=(18,14))

eq_map = Basemap(projection='robin', resolution = 'l', area_thresh = 1000.0, lat_0=0, lon_0=-130)
eq_map.drawcoastlines()
eq_map.drawcountries()
eq_map.fillcontinents(color = 'lightgray')
eq_map.drawmapboundary()
eq_map.drawmeridians(np.arange(0, 360, 30))
eq_map.drawparallels(np.arange(-90, 90, 30))   


lats = [-6.114, -18.0186]
lons = [146.1686, -178.4948]
x,y = eq_map(lons,lats)
focmecs = [[231, 88, 162],[177, 82, 85]]
ax = plt.gca()
for i in range(len(focmecs)):
      b = beach(focmecs[i], xy=(x[i], y[i]), width=1000, linewidth=1)
      b.set_zorder(10)
      ax.add_collection(b)

plt.show()

标签: pythonmatplotlibplot

解决方案


推荐阅读