python - 如何获得最大气泡python plotly open street map的半径?
问题描述
为了进行进一步的分析,我想得到最大气泡的半径?如果我能得到另一个具有气泡半径的列会更好。
当前代码:
fig = px.scatter_mapbox(df, lat="GPSLat", lon="GPSLng", zoom=15, height=500,width=1000,
size="Count",color="Device",title=' All device :2021/01/08')
fig.update_layout(mapbox_style="satellite")
fig.show()
东风:
Device GPSLat GPSLng Count
1001 6.8050 80.0154 9.0
1001 6.6050 80.2154 12.0
1001 6.7050 80.4154 114.0
1002 6.8050 80.0154 2.0
1001 6.5050 80.0154 2111.0
解决方案
如评论所述,将自动计算和绘制直径或半径。如果您获得绘图数据,您将看到气泡大小基于您的“计数”。
import plotly.express as px
import pandas as pd
import numpy as np
import io
data = '''
Device GPSLat GPSLng Count
1001 6.8050 80.0154 509.0
1001 6.6050 80.2154 1200.0
1001 6.7050 80.4154 840.0
1002 6.0050 80.0154 1602.0
1001 6.5050 80.0154 2111.0
'''
df = pd.read_csv(io.StringIO(data), delim_whitespace=True)
import plotly.express as px
px.set_mapbox_access_token(open("mapbox_api_key.txt").read())
fig = px.scatter_mapbox(df,
lat="GPSLat",
lon="GPSLng",
hover_name='Device',
height=500, width=1000,
zoom=8,
size="Count",
color="Count",
title=" All device :2021/01/08",
mapbox_style='satellite')
fig.show()
fig.data
(Scattermapbox({
'hovertemplate': ('<b>%{hovertext}</b><br><br>Cou' ... 'r>GPSLng=%{lon}<extra></extra>'),
'hovertext': array([1001., 1001., 1001., 1002., 1001.]),
'lat': array([6.805, 6.605, 6.705, 6.005, 6.505]),
'legendgroup': '',
'lon': array([80.0154, 80.2154, 80.4154, 80.0154, 80.0154]),
'marker': {'color': array([ 509., 1200., 840., 1602., 2111.]),
'coloraxis': 'coloraxis',
'size': array([ 509., 1200., 840., 1602., 2111.]),
'sizemode': 'area',
'sizeref': 5.2775},
'mode': 'markers',
'name': '',
'showlegend': False,
'subplot': 'mapbox'
}),)
# marker size
fig.data[0]['marker']['size']
array([ 509., 1200., 840., 1602., 2111.])
推荐阅读
- wordpress - WordPress 每天凌晨 12:00 自动更改具有特定类别的帖子
- javascript - Vuetify 元素上的条件颜色参数
- uwp - 如何创建第二个/双语字幕,与 MediaPlayerElement 的 CC 大小相同
- amazon-web-services - 启动 EC2:更改实例类型后当前不支持请求的配置
- knockout.js - 单击其他位置后按钮更改颜色
- python - 如何将数据抓取与谷歌表格连接起来
- dynamics-crm - 如何使用salesorder的取消步骤
- twilio - 有没有办法通过 DTMF 输入美元/美分?
- ruby-on-rails - 我用Docker搭建了一个rails环境,但是没有rails文件
- ubuntu - KVM:以 Win 10 作为客户端的 Ubuntu 主机 - 将我的数据驱动器附加到客户端?