好不容易实现了choropleth_mapbox地图,也顺道把散点地图、热力地图、线形地图处理掉吧,做到有始有终,再迈向新的领域;从微信公众号里拿到了按分省统计的用户数据,又拿到了各地市数据,通过这两种数据分别实现choropleth_mapbox、scatter_mapbox、density_mapbox,至于line_mapbox构造数据过于麻烦,直接拷贝了官网上的案例。
基于分省统计的用户数据,通过choropleth_mapbox进行行政区域的数据展示。
- import json
- import pandas as pd
- import plotly.express as px
- # 中国地图
- with open('china_geo.json') as response:
- counties = json.load(response)
- df = pd.read_csv("gongzhonghaopro.csv",encoding="utf-8",
- dtype={"areacode": str})
- fig = px.choropleth_mapbox(df, geojson=counties, featureidkey="properties.adcode",locations='areacode', color='total',
- #color_continuous_scale="Viridis",
- range_color=(0, 320),
- color_continuous_scale='Reds',
- zoom=3, center={"lat": 37.4189, "lon": 116.4219},
- mapbox_style='carto-positron')
- fig.update_layout(margin={"r": 0, "t": 0, "l": 0, "b": 0})
- fig.show()
基于分地市统计的用户数据,通过scatter_mapbox进行各城市的数据展示。这里面不同的地方是直接采用mapbox的地图,而且申请了一个tokenkey,此外数据的构成方面,需要附上各区域的经度、维度、展示数据等信息。
- all_data = pd.read_csv("gongzhonghao.csv",encoding="utf-8")
- token = 'pk.eyJ1Ijoiam9obndhbmcyMDIxIiwiYSI6ImNrbWNheTJ1NzA4cWQyb21uZHYycTgzMGQifQ.Tyk26CpuPLPi3bpw05yM_A'
- fig = px.scatter_mapbox(all_data, lat="langitude", lon="latitude", hover_name="city", hover_data=["city", "total"],
- color="total",
- size="total",
- #color_continuous_scale=px.colors.sequential.matter,
- size_max=30,
- color_continuous_scale="Reds",
- zoom=5, height=1000)
- fig.update_layout(mapbox = {'accesstoken': token, #需要到官网注册一个token
- 'center': {'lon': 106.573, 'lat': 30.66342}, #指定的地图中心
- 'zoom': 3,
- 'style': 'basic', #显示的地图类型,有遥感地图,街道地图等类型
- },
- margin = {'l': 0, 'r': 0, 't': 0, 'b': 0})
- fig.show()
基于分地市统计的用户数据,通过density_mapbox进行各城市的数据展示。热力图相对来说呈现效果要好于scatter_mapbox,不过这里面关于range_color的设置一直没想明白该如何正确处理。
- all_data = pd.read_csv("gongzhonghao.csv",encoding="utf-8")
- print(all_data)
- fig = px.density_mapbox(all_data, lat='langitude', lon='latitude', z='total', radius=20,
- color_continuous_scale=px.colors.diverging.RdYlGn[::-1],
- center={"lat": 37.4189, "lon": 116.4219}, zoom=3,
- range_color =(0,15),
- mapbox_style="stamen-terrain")
- fig.show()
基于官方案例的line_geo地图展示。
下一步该探索一下dash_core_components 、dash_html_components 、idash_bootstrap_components组件了,最终的目标是实现可视化大屏,还有很长的路要走。
数据科学已经从任意数字发展成为一种有效的管理数据以获取意义的方法。 这项技术...
近日,中国人民银行发布关于《征信业务管理办法(征求意见稿)》(下称《办法》),...
在本文中我将把自己最常用的 jQuery 函数转换为原生 JavaScript。 有时我需要创...
看上去 promise.prototype.then() 和 promise.prototype.finally 似乎非常相似。...
如我们所知,JavaScript是当今流行语言中对函数式编程支持最好的编程语言。而函...
实时计算 Flink版(Alibaba Cloud Realtime Compute for Apache Flink,Powered b...
虚拟主机 怎么看数据库?查看虚拟主机数据库,需要先进入虚拟主机管理中心,然后...
使用Pytorch 1.x和Tensorflow 2.x比较自动差异和动态模型子类方法 Source: Autho...
一根不起眼的短横线,在 Golang 和 Python 中,都能够让你不输出某些不想要的字...
CSRF 攻击的原理 CSRF 攻击,英文全称就是 Cross Site Request Forgy,意思就是...