十六章 JSON
过长的地址名不能使用分行
filename='D:\\pycharmprograms\\codes\\
chapter_16\\mapping_global_data_sets\\data\\eq_data_1_day_m1.json'
导致:SyntaxError: EOL while scanning string literal
python非字符串中出现中文字符:
data=pd.DataFrame(
data=zip(lons,lats,titles,mags),columns=['经度','纬度','位置','震级']
)
上述代码中columns中存在黑色中文逗号,非常难以察觉,应设置明显的语法高亮
导致:
SyntaxError: invalid character in identifier
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eI6kj7o6-1612017754436)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/7a8ecb0e-09aa-49d8-b2d6-1ef3659f9b24/Untitled.png)]
import json
import plotly.express as px
import pandas as pd
filename='D:\\pycharmprograms\\codes\\chapter_16\\mapping_global_data_sets\\data\\eq_data_1_day_m1.json'
with open (filename) as f:
all_eq_data=json.load(f)
all_eq_dicts=all_eq_data['features']
mags,titles,lons,lats=[],[],[],[]
for eq_dict in all_eq_dicts:
mag=eq_dict['properties']['mag']
mags.append(mag)
title=eq_dict['properties']['title']
lon=eq_dict['geometry']['coordinates'][0]
lat=eq_dict['geometry']['coordinates'][1]
titles.append(title)
lons.append(lon)
lats.append(lat)
data=pd.DataFrame(
data=zip(lons,lats,titles,mags),columns=['经度','纬度','位置','震级']
)
data.head()
fig=px.scatter(
data,
x='经度',
y='纬度',
labels={'x':'经度','y':'纬度'},
range_x=[-200,200],
range_y=[-90,90],
width=800,
height=800,
title='全球地震散点图',
size='震级',
size_max=10,
)
#fig.write_html('D:\\pycharmprograms\\global_eathquakes.html')
fig.show()
有颜色渐变的散点图
import json
import plotly.express as px
import pandas as pd
filename='D:\\pycharmprograms\\codes\\chapter_16\\mapping_global_data_sets\\data\\eq_data_30_day_m1.json'
with open (filename) as f:
all_eq_data=json.load(f)
all_eq_dicts=all_eq_data['features']
mags,titles,lons,lats=[],[],[],[]
for eq_dict in all_eq_dicts:
mag=eq_dict['properties']['mag']
mags.append(mag)
title=eq_dict['properties']['title']
lon=eq_dict['geometry']['coordinates'][0]
lat=eq_dict['geometry']['coordinates'][1]
titles.append(title)
lons.append(lon)
lats.append(lat)
data=pd.DataFrame(
data=zip(lons,lats,titles,mags),columns=['经度','纬度','位置','震级']
)
data.head()
fig=px.scatter(
data,
x='经度',
y='纬度',
labels={'x':'经度','y':'纬度'},
range_x=[-200,200],
range_y=[-90,90],
width=800,
height=800,
title='全球地震散点图',
size='震级',
size_max=10,
color='震级'
)
#fig.write_html('D:\\pycharmprograms\\global_eathquakes.html')
fig.show()