参考源码

https://github.com/agile-geoscience/seisplot

准备工作:

在windows10下安装python3.7,下载参考源码到本地。

1. demo绘图测试

demo绘图指令

cmd> python seisplot.py --demo

问题1)缺少依赖包

 File "D:/Desktop/python可视化/seisplot/seisplot.py", line 16, in <module>import yaml
ModuleNotFoundError: No module named 'yaml'>pip3 install yamlCould not find a version that satisfies the requirement yaml (from versions: )
No matching distribution found for yaml

查看environment.yml:

channels:
- defaults
- conda-forge
dependencies:
- matplotlib
- numpy
- obspy
- pillow
- pyyaml

安装相关依赖包,如 obspy pillow pyyaml

cmd> pip3 install obspy

出现proxy error, 添加选项 --proxy server:port

安装ok

问题2)配置文件的编码异常

D:\Desktop\python可视化\seisplot>python seisplot.py --demo
[91mWelcome to┌─┐┌─┐┬┌─┐┌─┐┬  ┌─┐┌┬┐└─┐├┤ │└─┐├─┘│  │ │ │└─┘└─┘┴└─┘┴  ┴─┘└─┘ ┴Good luck[0m
Traceback (most recent call last):File "seisplot.py", line 421, in <module>cfg = yaml.load(f)File "D:\ProgramFiles\Python36\lib\site-packages\yaml\__init__.py", line 70, in loadloader = Loader(stream)File "D:\ProgramFiles\Python36\lib\site-packages\yaml\loader.py", line 34, in __init__Reader.__init__(self, stream)File "D:\ProgramFiles\Python36\lib\site-packages\yaml\reader.py", line 85, in __init__self.determine_encoding()File "D:\ProgramFiles\Python36\lib\site-packages\yaml\reader.py", line 124, in determine_encodingself.update_raw()File "D:\ProgramFiles\Python36\lib\site-packages\yaml\reader.py", line 178, in update_rawdata = self.stream.read(size)
UnicodeDecodeError: 'gbk' codec can't decode byte 0x99 in position 2003: illegal multibyte sequence

分析源码中参数传递情况:

def load(stream, Loader=Loader):"""Parse the first YAML document in a streamand produce the corresponding Python object."""print(stream) ## debug by huanying03loader = Loader(stream)try:return loader.get_single_data()finally:loader.dispose()

打印结果如下:

<_io.TextIOWrapper name='config.yml' mode='r' encoding='cp936'>

编码不对?

65001  :UTF-8代码页

936 :默认的GBK

437 :是美国英语

仔细检查发现config.yml中有异常字符,更正config.yml中错误字符:ok

问题3)python调试打印语句

print ("value=%d"%value)

demo数据绘图结果

如下:

2. 本地数据绘图测试

应用指令

cmd > python seisplot.py data/my.sgy

问题1)数据道的采样值异常

filename   data2/t10.sgy
seismic.py:104:dt=4000
seismic.py:104:ns=512
seismic.py:144:header=b'C 1 CLIENT'
n_traces   500
n_samples  512
dt         0.004
t_start    0
t_end      2.044
max_val    inf
min_val    -inf
clip_val   180462501764003194804057887685476352
Read data in 0.4 s++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PLOTTING
plot width   17.00 in
plot height  11.00 in
Traceback (most recent call last):File "seisplot.py", line 442, in <module>main(t, cfg)File "seisplot.py", line 214, in maincfg)File "D:\Desktop\python可视化\seisplot\plotter.py", line 123, in plot_histogramy, x, _ = ax.hist(np.ravel(data), bins=int(100.0 / (clip_val / largest)),
OverflowError: cannot convert float infinity to integer

解决办法:将数据做归一化处理

问题2)数据文件的卷头异常

filename   data2/marmousi_vel.segy.hdrs.sgy.cdp.sgy
seismic.py:104:dt=10000
seismic.py:104:ns=350
seismic.py:144:header=b'\xc3@\xf1@\xc3\xd3\xc9\xc5\xd5\xe3'
Traceback (most recent call last):File "seisplot.py", line 442, in <module>main(t, cfg)File "seisplot.py", line 40, in mains = Seismic.from_segy(target, params={'ndim': cfg['ndim']})File "D:\Desktop\python可视化\seisplot\seismic.py", line 164, in from_segyreturn cls.from_obspy(stream, params=params)File "D:\Desktop\python可视化\seisplot\seismic.py", line 147, in from_obspyx =np.array(list(stream.textual_file_header.decode()))
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 0: invalid continuation byte

解决办法:重写3200字节的segy卷头

marmousi相关数据绘图

速度模型绘图结果如下:

marmousi模型正演的炮集数据绘图结果如下:

测试备忘

1

cygwin执行指令,可以看到反馈信息为彩色,分析信息很方便。

相比之下,cmd终端执行指令后的反馈信息可读性较差。

2

本地数据出现异常后,通过cwp中的segyread, sushw, sugain, segywrite等程序进行修改,满足绘图程序要求。

1)3200字节的卷头必须规范

2)道头字中的cdpt取值必须规范(xline)

3)道采样值最好归一化处理。

python 地震数据可视化相关推荐

  1. python 读取地震道头数据_python地震数据可视化详解

    本文实例为大家分享了python地震数据可视化的具体代码,供大家参考,具体内容如下 准备工作: 在windows10下安装python3.7,下载参考源码到本地. 1. demo绘图测试 demo绘图 ...

  2. python与excel做数据可视化-用Python进行数据可视化的10种方法

    原标题:用Python进行数据可视化的10种方法 2015-11-19 关于转载授权 大数据文摘作品,欢迎个人转发朋友圈,自媒体.媒体.机构转载务必申请授权,后台留言"机构名称+转载&quo ...

  3. python代码示例图形-纯干货:手把手教你用Python做数据可视化(附代码)

    原标题:纯干货:手把手教你用Python做数据可视化(附代码) 导读:制作提供信息的可视化(有时称为绘图)是数据分析中的最重要任务之一.可视化可能是探索过程的一部分,例如,帮助识别异常值或所需的数据转 ...

  4. 【Python】数据可视化教程来了!

    来自:Datawhale????数据可视化小组 开源初衷 Matplotlib可以说是python数据可视化最重要且常见的工具之一,几乎每个和数据打交道的人都不可避免,还有大量可视化工具是基于它的二次 ...

  5. 【Python实现数据可视化】创建3D柱状图

    虽然matplotlib主要专注于绘图,并且主要是二维的图形,但是它也有一些不同的扩展,能让我们在地理图上绘图,让我们把Excel和3D图表结合起来.在matplotlib的世界里,这些扩展叫做工具包 ...

  6. python 图表美化_你的图表不美观怎么办,Python实现数据可视化帮你实现

    之前突然看到一个用Python实现数据可视化的技术,小编觉得解决了生活中的好多问题,大家一起来看看这个神器.1.主页 首先,这个主页的设计就是我非常喜欢的风格,简单清晰,第一眼就让人有特别清爽的感觉, ...

  7. 『数据可视化』基于Python的数据可视化工具

    刘宇宙,现在一家创业型公司做技术总负责,做爬虫和数据处理相关工作,曾从事过卡系统研发.金融云计算服务系统研发,物联网方向大数据研发,著书一本,<Python3.5从零开始学> 如何做Pyt ...

  8. python画图代码大全-纯干货:手把手教你用Python做数据可视化(附代码)

    原标题:纯干货:手把手教你用Python做数据可视化(附代码) 导读:制作提供信息的可视化(有时称为绘图)是数据分析中的最重要任务之一.可视化可能是探索过程的一部分,例如,帮助识别异常值或所需的数据转 ...

  9. 【教程】Python科研数据可视化、MATLAB科研数据可视化

    在过去的20年中,随着社会产生数据的大量增加,对数据的理解.解释与决策的需求也随之增加.而固定不变是人类本身,所以我们的大脑必须学会理解这些日益增加的数据信息.所谓"一图胜千言", ...

  10. python实现数据可视化_使用Matplotib python实现数据可视化

    python实现数据可视化 I Feel: 我觉得: In today's digital world data has become as important as air. Machines &a ...

最新文章

  1. iOS开发之使用XMPPFramework实现即时通信(二)
  2. Kafka安装和基本指令
  3. Java知识整理——基础知识
  4. 微软自家的.Net下的JavaScript引擎——ClearScript
  5. 看,这就是你脱下谷歌眼镜的世界——多乏味!
  6. 前端路由跳转丢失端口号_如何在应用架构中设计微前端方案 icestark
  7. 11.QT中同一个源文件对应两个不同的ui
  8. dio设置自定义post请求_Flutter用dio封装http网络请求,设置统一的请求地址、headers及处理返回内容...
  9. unity VideoPlayer播放完成事件
  10. mac 版 idea 破解
  11. 谈内置创新5.1/7.1声卡效果开混响模式滋滋啦啦炸麦声音【案例解析】
  12. java生成水印图片
  13. Gradient Boosting算法简介(有python列子)
  14. 加密html文件如何转换为pdf,PPT转成PDF后如何加密?其实真的很简单!
  15. 故事要从我白嫖了一个阿里云服务器说起
  16. MATLAB算法实战应用案例精讲-【深度学习工具篇】sift特征提取
  17. c# picturebox 刷新_C# picturebox画图问题
  18. 没有几样强迫症,不配自称程序员
  19. rj45管脚定义_“RJ45接口”定义标准是什么?
  20. HTML5画布谐振子

热门文章

  1. 微信Android端如何安全降级
  2. error c2471: cannot update program database vc90.pdb-小楼一夜听春雨-博客园
  3. 大合集!近两年目标跟踪资源全汇总(论文、模型代码、优秀实验室)
  4. Nature子刊 | 绘制植物叶际菌群互作图谱以建立基因型表型关系
  5. DNA 5. 基因组变异文件VCF格式详解
  6. 如何刷访问量 的详细介绍
  7. 微信小程序 体验版开启调试模式
  8. shell脚本中source和expert的简单理解
  9. Android 7.0以上照相机权限问题处理
  10. html浏览器图片不显示图片,教你网页图片显示不出来怎么办