酸酸酸359 2023-05-13 00:53 采纳率: 66.7%
浏览 7

使用beach函数绘制震源球出错

我想在basemap画出的地图上添加震源机制沙滩球

import numpy as np
import matplotlib.pyplot as plt 
from mpl_toolkits.basemap import Basemap

from obspy import read_events
from obspy.imaging.beachball import beach

from openpyxl import load_workbook

wb = load_workbook("fm.xlsx")  # Work Book
ws = wb.get_sheet_by_name('sheet1')  # Work Sheet


eq_map = Basemap(projection='merc', lat_0=40, lon_0=38,
    resolution = 'h', area_thresh = 0.1,
    llcrnrlon=35, llcrnrlat=39,
    urcrnrlon=41, urcrnrlat=41)
eq_map.drawcoastlines()
eq_map.drawcountries()
eq_map.fillcontinents(color='lightgrey')
eq_map.drawmapboundary()
eq_map.drawmeridians(np.arange(35, 41, 1),labels=[True,False,False,True])
eq_map.drawparallels(np.arange(39, 41, 1),labels=[True,False,False,True])

m11=[]
m22=[]
m33=[]
m12=[]
m13=[]
m23=[]
lons=[]
lats=[]
for i in range(2,10):
    m11.append(float(ws.cell(row=i, column=3).value))
    m22.append(float(ws.cell(row=i, column=6).value))
    m33.append(float(ws.cell(row=i, column=8).value))
    m12.append(float(ws.cell(row=i, column=4).value))
    m13.append(float(ws.cell(row=i, column=5).value))
    m23.append(float(ws.cell(row=i, column=7).value))
    lons.append(float(ws.cell(row=i, column=2).value))
    lats.append(float(ws.cell(row=i, column=1).value))

moment_list = [m11,m22,m33,m12,m13,m23]


ax = plt.gca()
b = beach(moment_list, xy=(lons, lats), width=20, linewidth=1, alpha=0.85)
b.set_zorder(10)
ax.add_collection(b)

plt.show()

但是运行错误

img


请问是什么原因?

  • 写回答

1条回答 默认 最新

  • 阿里嘎多学长 2023-05-13 11:52
    关注

    https://blog.csdn.net/u013854486/article/details/104263762

    别人的帖子你看一下、应该是版本的问题、里面没有这个库吧

    评论

报告相同问题?

问题事件

  • 创建了问题 5月13日

悬赏问题

  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)
  • ¥15 船舶旋回实验matlab
  • ¥30 SQL 数组,游标,递归覆盖原值
  • ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据