我正在努力将我编写的这段代码(构造静态热图)转换为带有日期滑块的动画版本。
import pandas as pd
import plotly.graph_objects as go
...
fig = go.Figure(go.Densitymapbox(lat=df_heat['lat'], lon=df_heat['lon'], z=df_heat['count'],
radius=10,))
fig.update_layout(mapbox_style="carto-positron", mapbox_zoom=10, mapbox_center = {"lat": 40.7831, "lon": -73.9712},)
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})
fig.show()
Run Code Online (Sandbox Code Playgroud)
上面的代码成功地将 Pandas DataFrame df_heat(如下所示)转换为 Plotly heatmap。
lat lon count
0 -62.884215 39.440236 1
1 -62.834226 39.408072 1
2 -62.811707 39.380462 1
3 -62.744564 39.489112 1
...
Run Code Online (Sandbox Code Playgroud)
静态热图输出:
![静态热图[1]](https://i.stack.imgur.com/Obmve.jpg)
df_heat本身只是以下 DataFrame 的聚合视图,其中还包括日期。
date lat lon count
0 2018-07-29 40.691828 -73.944609 1
1 2018-07-29 40.693601 -73.945092 1
2 2018-07-29 40.696132 -73.945178 …Run Code Online (Sandbox Code Playgroud) 我创建了一个 Choropleth 地图,我想知道是否可以为每个州添加一个下拉列表。当您选择下拉菜单时,图表会变为在该州随时间推移获得的学士学位数量的折线图。
我的数据示例:
year state statetotal ba_total
0 1984.0 AK 221.0 108.0
1 1985.0 AK 242.0 141.0
2 1984.0 NC 229.0 117.0
3 1985.0 NC 257.0 138.0
4 1984.0 MA 272.0 165.0
5 1985.0 MA 280.0 176.0
6 1984.0 NY 375.0 249.0
7 1985.0 NY 309.0 208.0
Run Code Online (Sandbox Code Playgroud)
这是我迄今为止尝试过的:
for col in df.columns:
df[col] = df[col].astype(str)
scl = [[0.0, 'rgb(242,240,247)'],[0.2, 'rgb(218,218,235)'],[0.4, 'rgb(188,189,220)'],\
[0.6, 'rgb(158,154,200)'],[0.8, 'rgb(117,107,177)'],[1.0, 'rgb(84,39,143)']]
df['text'] = df['statename'] + '<br>' + \
'Bachelor '+df['ba_total']+'<br>'+ \
'Master '+df['ma_total']+'<br>'+ \
'PhD …Run Code Online (Sandbox Code Playgroud)