plotly.express

本文演示如何使用plotly.express读取JSON格式的地震数据,提取震级、位置、经纬度等信息,并利用pandas处理数据,最终绘制全球地震散点图,展示震级与地理位置的关系。

作者:zhuge···预计阅读 4 分钟·719 阅读·0 评论
plotly.express

话不多说。。。

import json

from sympy import im

import plotly.express as px

import pandas as pd


filename='data/eq_data_30_day_m1.json'
with open(filename) as f:
    all_eq_data=json.load(f)

# readable_file='data/readable_eq_data.json'
# with open(readable_file ,'w')  as f:
#     json.dump(all_eq_data,f,indent=4)

all_eq_dicts = all_eq_data['features']
#print (len(all_eq_dicts))

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

for eq_dict in all_eq_dicts:
    mags.append(eq_dict['properties']['mag'])
    titles.append(eq_dict['properties']['title'])
    lons.append(eq_dict['geometry']['coordinates'][0])
    lats.append(eq_dict['geometry']['coordinates'][1])


data = pd.DataFrame(
    data=zip(lons, lats, titles, mags), columns=['经度', '纬度', '位置', '震级']
)

fig=px.scatter(
    data,
    x='经度',
    y='纬度',
    range_x=[-200,200],
    range_y=[-90,90],
    width=800,
    height=800,
    title='全球地震散点图',
    size='震级',
    size_max=10,
    color='震级',
    color_continuous_scale=px.colors.diverging.RdYlGn[::-1],
    hover_name='位置',

)

#fig.write_html('1.html')
fig.show()

相关文章

评论

加载中...