python 下载数据json 2021-02-27

import json


#探索数据的结构

filename = 'data/1.json'

with open(filename) as f:

    all_eq_data = json.load(f)    #存储进去一个json数据对象


'''

readable_file = 'data/readable_eq_data.json'    #创建一个文件对象

with open(readable_file,'w') as f:

    json.dump(all_eq_data,f,indent = 4)    #接受一个json数据对象和文件对象    indent缩进

'''


all_eq_dicts = all_eq_data['features']    #提取键"features"数据并储存


mags,titles,lons,lats= [],[],[],[]

for eq_dict in all_eq_dicts:

    mag = eq_dict['properties']['mag']    #每次地震震级存储在'properties'部分的'mag'下

    title = eq_dict['properties']['title']    #存储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])    #提取震级

#print(len(all_eq_dicts))    #提取所有地震的次数

print(titles[:2])

print(lons[:5])

print(lats[:5])


绘制震级散点图:

import plotly.express as px


fig = px.scatter(

    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')    #保存文件

fig.show()    #显示


另一种指定图标数据的方式:

import pandas as pd

data = pd.DataFrame(

    data = zip(lons,lats,titles,mags),columns = ['经度','纬度','位置','震级']    #封装数据

)

data.head()

然后参数配置方式可以从:

    x = lons,

    y = lats,

    labels = {'x':'经度','y':'纬度'},

变更为:

    data,

    x = '经度'

    y = '纬度'

    ……

    size = '震级',

    size_max = 10,    #默认20


    color = '震级',    #标记颜色 蓝<红<黄


    hover_name = '位置',    #添加鼠标指向时显示的文本

    

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容