python-下载数据-制作全球地震散点图:JSON格式

查看JSON数据

import json# 探索数据的结构
filename = 'eq_data_1_day_m1.geojson'
with open(filename) as f:all_eq_data = json.load(f)readable_file = 'readable_eq_data.json'
with open(readable_file, 'w') as f:json.dump(all_eq_data, f, indent=4)

json.load() 将数据转换为Python能够处理的格式 - - 字典

json.dump() 接受一个JSON数据对象和一个文件对象,并将数据写入这个文件中
indent=4 让dump() 使用与数据结构匹配的缩进量来设置数据的格式

创建地震列表

创建一个列表,包含所有地震的各种信息

all_eq_dicts = all_eq_data['features']
len(all_eq_dicts)	# 160	# 160次地震

提取震级

magnitude震级

mags = []# 存储地震震级
for eq_dict in all_eq_dicts:mag = eq_dict['properties']['mag']mags.append(mag)print(mags[:10])	# [1.6, 1.6, 2.2, 3.7, 2.92000008, 1.4, 4.6, 4.5, 1.9, 1.8]

提取位置数据

properties特征
geometry 存储位置数据

# longitude经度 latitude纬度 coordinates坐标
mags, titles, lons, lats = [], [], [], []
for eq_dict in all_eq_dicts:mag = eq_dict['properties']['mag']title = eq_dict['properties']['title']lon = eq_dict['geometry']['coordinates'][0]lat = eq_dict['geometry']['coordinates'][1]mags.append(mag)titles.append(title)lons.append(lon)lats.append(lat)print(mags[:10])    # [1.6, 1.6, 2.2, 3.7, 2.92000008, 1.4, 4.6, 4.5, 1.9, 1.8]
print(titles[:2])   # ['M 1.6 - 27 km NNW of Susitna, Alaska', 'M 1.6 - 63 km SE of Pedro Bay, Alaska']
print(lons[:5])     # [-150.7585, -153.4716, -148.7531, -159.6267, -155.248336791992]
print(lats[:5])     # [61.7591, 59.3152, 63.1633, 54.5612, 18.7551670074463]

绘制震级散点图

import plotly.express as pxfig = px.scatter(	# 创建一个fig实例x=lons,y=lats,labels={"x": "经度", "y": "纬度"},range_x=[-200, 200],range_y=[-90, 90],width=800,height=800,title="全球地震散点图",
)
fig.write_html("global_earthquakes.html")	# 将可视化图保存为html文件
fig.show()

plotly.express别名px,是Plotly的高级接口,简单易用
在这里插入图片描述

另一种指定图表数据的方式

import pandas as pd
data = pd.DataFrame(	# 创建一个DataFrame ,将需要的数据封装起来data=zip(lons, lats, titles, mags), columns=["经度", "纬度", "位置", "震级"]
)
data.head()

pandas数据分析工具
在这里插入图片描述
将注释里的代码改为前面的代码

    data,        	# x=lons,x = "经度",     # y=lats,y = "纬度",     # labels={"x": "经度", "y": "纬度"},

定制标记的尺寸 和颜色

fig = px.scatter(data,x="经度",y="纬度",range_x=[-200, 200],range_y=[-90, 90],width=800,height=800,title="全球地震散点图",size="震级",size_max=10,	# 标记尺寸默认为20像素color="震级",
)

默认的视觉映射图例渐变色范围是从蓝到红再到黄,数值越小则标记越蓝,而数值越大则标记越黄
在这里插入图片描述

其他渐变

Plotly Express将渐变存储在模块colors 中。这些渐变是在列表px.colors.named_colorscales() 中定义的

px.colors.named_colorscales()

[‘aggrnyl’, ‘agsunset’, ‘blackbody’, ‘bluered’, ‘blues’, ‘blugrn’, ‘bluyl’, ‘brwnyl’, ‘bugn’, ‘bupu’, ‘burg’, ‘burgyl’, ‘cividis’, ‘darkmint’, ‘electric’, ‘emrld’, ‘gnbu’, ‘greens’, ‘greys’, ‘hot’, ‘inferno’, ‘jet’, ‘magenta’, ‘magma’, ‘mint’, ‘orrd’, ‘oranges’, ‘oryel’, ‘peach’, ‘pinkyl’, ‘plasma’, ‘plotly3’, ‘pubu’, ‘pubugn’, ‘purd’, ‘purp’, ‘purples’, ‘purpor’, ‘rainbow’, ‘rdbu’, ‘rdpu’, ‘redor’, ‘reds’, ‘sunset’, ‘sunsetdark’, ‘teal’, ‘tealgrn’, ‘turbo’, ‘viridis’, ‘ylgn’, ‘ylgnbu’, ‘ylorbr’, ‘ylorrd’, ‘algae’, ‘amp’, ‘deep’, ‘dense’, ‘gray’, ‘haline’, ‘ice’, ‘matter’, ‘solar’, ‘speed’, ‘tempo’, ‘thermal’, ‘turbid’, ‘armyrose’, ‘brbg’, ‘earth’, ‘fall’, ‘geyser’, ‘prgn’, ‘piyg’, ‘picnic’, ‘portland’, ‘puor’, ‘rdgy’, ‘rdylbu’, ‘rdylgn’, ‘spectral’, ‘tealrose’, ‘temps’, ‘tropic’, ‘balance’, ‘curl’, ‘delta’, ‘oxy’, ‘edge’, ‘hsv’, ‘icefire’, ‘phase’, ‘twilight’, ‘mrybm’, ‘mygbm’]

使用px.colors.diverging.RdYlGn[::-1] 可以将对应颜色的配色列表反转

注意 Plotly除了有px.colors.diverging 表示连续变量的配色方案,还有px.colors.sequential 和px.colors.qualitative 表示离散变量。随便挑一种配色,例如px.colors.qualitative.Alphabet ,你将看到渐变是如何定义的。每个渐变都有起始色和终止色,有些渐变还定义了一个或多个中间色。Plotly会在这些定义好的颜色之间插入颜色。

添加鼠标指向时显示的文本

hover_name

fig = px.scatter(color="震级",hover_name="位置",
)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/56582.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据治理运营整体解决方案[39页PPT]

导读:原文《大数据治理运营整体解决方案[39页PPT]》(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。 数据治理总体方案 数据治理平台解决方案 数据治理运…

Nginx全局配置

目录 一、修改启动进程数 二、日制分割 三、nginx进程的优先级(work进程的优先级) 四、http设置 4.1http 协议配置说明 4.2mime 4.3 server块构建虚拟主机 4.4 location 一、修改启动进程数 worker_processes 1; #允许的启动工作进程数数量…

展会动态 | 迪捷软件邀您参加【AUTOSEMO“恒以致远,共创共赢”主题研讨会】

大会简介 2023年,中国汽车工业迎来70年华诞,仅用70年,中国就已建成全球规模最大、品类最齐全、配套最完整的汽车工业体系。 中国汽车工业协会软件分会中国汽车基础软件生态标准专委会(China Automotive Basic Software Ecosyste…

建网站、编游戏、作生活援手|ChatGPT4惊艳的使用示例教程

OpenAI最新推出的人工智能模型ChatGPT4令科技界震惊,本文将通过探讨ChatGPT的一些惊艳应用示例,帮助大家了解ChatGPT的优势、应用场景。同时,市场营销、教师和人力资源专业人员也能了解到如何充分使用ChatGPT的强大功能。 将草图转为网站 …

git 基础入门

Git基础入门 Git是一个分布式 版本管理系统,用于跟踪文件的变化和协同开发。 版本管理:理解成档案馆,记录开发阶段各个版本 分布式&集中式 分布式每个人都有一个档案馆,集中式只有一个档案馆。分布式每人可以管理自己的档案…

kubernetes/k8s驱逐机制总结篇

概述 k8s的驱逐机制是指在某些场景下,如node节点notReady、node节点压力较大等,将pod从某个node节点驱逐掉,让pod的上层控制器重新创建出新的pod来重新调度到其他node节点。这里也将kube-scheduler的抢占调度纳入到了驱逐的讨论范围内&#…

Linux 基金会宣布正式进驻中国

在 LinuxCon 2017 (北京)即将召开前夕,我们Linux 中国会同 51CTO、开源中国对 Linux 基金会执行董事 Jim Zemlin 进行了一场远跨大洋的视频专访。 在这次专访中,Jim 先生回答了几个开源界和互联网领域关注的问题,并披…

[CVPR 2023]PyramidFlow-训练并推理-附bug调试

CVPR2023-PyramidFlow-zero shot异常检测网络 代码调试记录 一.论文以及开源代码二.前期代码准备三.环境配置四.bug调试num_samples should be a positive integer value, but got num_samples0AttributeError: Cant pickle local object fix_randseed.<locals>.seed_wor…

springboot使用properties

一、方式1&#xff1a; 1.1.配置类&#xff1a; package cn.zyq.stater.config;import cn.zyq.stater.bean.User4; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework…

解决:Appium Inspector刷新页面一直加载转圈

目录 问题&#xff1a;Appium Inspector刷新页面一直加载转圈 解决办法&#xff1a; 1.进入设置页面-电池-后台耗电管理 2.找到下面3个应用&#xff0c;修改为允许后台高耗电 问题&#xff1a;Appium Inspector刷新页面一直加载转圈 1、手机进行操作后&#xff0c;Appium I…

Go 语言的实战案例 SOCKS5 代理 | 青训营

Powered by:NEFU AB-IN 文章目录 Go 语言的实战案例 SOCKS5 代理 | 青训营 引入TCP echo serverauth 认证请求阶段relay阶段 Go 语言的实战案例 SOCKS5 代理 | 青训营 GO语言工程实践课后作业&#xff1a;实现思路、代码以及路径记录 引入 代理是指在计算机网络中&#xff…

Cpp学习——编译链接

目录 ​编辑 一&#xff0c;两种环境 二&#xff0c;编译环境下四个部分的 1.预处理 2.编译 3.汇编 4.链接 三&#xff0c;执行环境 一&#xff0c;两种环境 在程序运行时会有两种环境。第一种便是编译环境&#xff0c;第二种则是执行环境。如下图&#xff1a; 在程序运…

5G NR:协议 - PDCCH信道

1、基本概念 不同于LTE中的控制信道包括PCFICH、PHICH和PDCCH&#xff0c;在5G NR中&#xff0c;控制信道仅包括PDCCH&#xff08;Physical Downlink Control Channel&#xff09;&#xff0c;负责物理层各种关键控制信息的传递&#xff0c;PDCCH中传递的下行控制信息&#xff…

【LeetCode】面试题总结 消失的数字 最小k个数

1.消失的数字 两种思路 1.先升序排序&#xff0c;再遍历并且让后一项与前一项比较 2.转化为数学问题求等差数列前n项和 &#xff08;n的大小为数组的长度&#xff09;&#xff0c;将根据公式求得的应有的和数与数组中实际的和作差 import java.util.*; class Solution {public …

代码随想录算法训练营第四十六天 | 139.单词拆分

代码随想录算法训练营第四十六天 | 139.单词拆分 139.单词拆分 139.单词拆分 题目链接 视频讲解 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典…

【LeetCode】227. 基本计算器 II

227. 基本计算器 II&#xff08;中等&#xff09; 方法&#xff1a;双栈解法 思路 我们可以使用两个栈 nums 和 ops 。 nums &#xff1a; 存放所有的数字ops &#xff1a;存放所有的数字以外的操作 然后从前往后做&#xff0c;对遍历到的字符做分情况讨论&#xff1a; 空格 …

安全测试-django防御安全策略

django安全性 django针对安全方面有一些处理&#xff0c;学习如何进行处理设置&#xff0c;也有利于学习安全测试知识。 CSRF 跨站点请求伪造&#xff08;Cross-Site Request Forgery&#xff0c;CSRF&#xff09;是一种网络攻击方式&#xff0c;攻击者欺骗用户在自己访问的网…

Python 包管理(pip、conda)基本使用指南

Python 包管理 概述 介绍 Python 有丰富的开源的第三方库和包&#xff0c;可以帮助完成各种任务&#xff0c;扩展 Python 的功能&#xff0c;例如 NumPy 用于科学计算&#xff0c;Pandas 用于数据处理&#xff0c;Matplotlib 用于绘图等。在开始编写 Pytlhon 程序之前&#…

【力扣】2813 子序列最大优雅度

class Solution//诡异的数据结构维护反悔贪心 { public:long long findMaximumElegance(vector<vector<int>>& items, int k){sort(items.begin(), items.end(), [](const auto &a, const auto &b){return a[0] > b[0];});//奇妙的排序方法long lon…

K8S最新版本集群部署(v1.28) + 容器引擎Docker部署(上)

温故知新 &#x1f4da;第一章 前言&#x1f4d7;背景&#x1f4d7;目的&#x1f4d7;总体方向 &#x1f4da;第二章 基本环境信息&#x1f4d7;机器信息&#x1f4d7;软件信息&#x1f4d7;部署用户kubernetes &#x1f4da;第三章 Kubernetes各组件部署&#x1f4d7;安装kube…