Python - plotly - 结合气泡图和等值线图
Python - plotly - combine bubble and choropleth map
在这个问题的答案中 , it was described nicely how to combine bubble and choropleth map within one map in plotly. I would like to replicate exactly the same example in Python, however I did not manage based on the information provided in the plotly documentation (https://plot.ly/python/reference/)。
等效的R代码如下:
lon = c(-73.9865812, -118.2427266, -87.6244212, -95.3676974)
pop = c(8287238, 3826423, 2705627, 2129784)
df_cities = data.frame(cities, lat, lon, pop)
state_codes = c("NY", "CA", "IL", "TX")
pop = c(19746227.0, 38802500.0, 12880580.0, 26956958.0)
df_states = data.frame(state_codes, pop)
plot_ly(df_cities, lon=lon, lat=lat,
text=paste0(df_cities$cities,'<br>Population: ', df_cities$pop),
marker= list(size = sqrt(pop/10000) + 1), type="scattergeo",
filename="Whosebug/choropleth+scattergeo") %>%
add_trace(z=df_states$pop,
locations=df_states$state_codes,
text=paste0(df_states$state_codes, '<br>Population: ', df_states$pop),
type="choropleth",
colors = 'Purples',
locationmode="USA-states") %>%
layout(geo = list(scope="usa"))
如何在 Python 中实施?
只需将 .py
附加到图表的 URL(例如 https://plot.ly/~RPlotBot/1735.py)即可查看相应的 python 代码。
我发现我必须稍微调整一下代码才能让它工作:
cities = c('New York', 'Los Angeles', 'Chicago', 'Houston')
lat = c(40.7305991, 34.053717, 41.8755546, 29.7589382)
lon = c(-73.9865812, -118.2427266, -87.6244212, -95.3676974)
pop = c(8287238, 3826423, 2705627, 2129784)
df_cities = data.frame(cities, lat, lon, pop)
state_codes = c("NY", "CA", "IL", "TX")
pop = c(19746227.0, 38802500.0, 12880580.0, 26956958.0)
df_states = data.frame(state_codes, pop)
plot_ly(df_cities, lon=lon, lat=lat,
text = paste0(df_cities$cities,'<br>Population: ', df_cities$pop),
marker = list(size = sqrt(pop/10000) + 1), type="scattergeo",
filename = "Whosebug/choropleth+scattergeo") %>%
add_trace(z=df_states$pop,
locations = df_states$state_codes,
text = paste0(df_states$state_codes, '<br>Population: ', df_states$pop),
type = "choropleth",
colors = 'Purples',
locationmode = "USA-states") %>%
layout(geo = list(scope="usa"))
在这个问题的答案中
等效的R代码如下:
lon = c(-73.9865812, -118.2427266, -87.6244212, -95.3676974)
pop = c(8287238, 3826423, 2705627, 2129784)
df_cities = data.frame(cities, lat, lon, pop)
state_codes = c("NY", "CA", "IL", "TX")
pop = c(19746227.0, 38802500.0, 12880580.0, 26956958.0)
df_states = data.frame(state_codes, pop)
plot_ly(df_cities, lon=lon, lat=lat,
text=paste0(df_cities$cities,'<br>Population: ', df_cities$pop),
marker= list(size = sqrt(pop/10000) + 1), type="scattergeo",
filename="Whosebug/choropleth+scattergeo") %>%
add_trace(z=df_states$pop,
locations=df_states$state_codes,
text=paste0(df_states$state_codes, '<br>Population: ', df_states$pop),
type="choropleth",
colors = 'Purples',
locationmode="USA-states") %>%
layout(geo = list(scope="usa"))
如何在 Python 中实施?
只需将 .py
附加到图表的 URL(例如 https://plot.ly/~RPlotBot/1735.py)即可查看相应的 python 代码。
我发现我必须稍微调整一下代码才能让它工作:
cities = c('New York', 'Los Angeles', 'Chicago', 'Houston')
lat = c(40.7305991, 34.053717, 41.8755546, 29.7589382)
lon = c(-73.9865812, -118.2427266, -87.6244212, -95.3676974)
pop = c(8287238, 3826423, 2705627, 2129784)
df_cities = data.frame(cities, lat, lon, pop)
state_codes = c("NY", "CA", "IL", "TX")
pop = c(19746227.0, 38802500.0, 12880580.0, 26956958.0)
df_states = data.frame(state_codes, pop)
plot_ly(df_cities, lon=lon, lat=lat,
text = paste0(df_cities$cities,'<br>Population: ', df_cities$pop),
marker = list(size = sqrt(pop/10000) + 1), type="scattergeo",
filename = "Whosebug/choropleth+scattergeo") %>%
add_trace(z=df_states$pop,
locations = df_states$state_codes,
text = paste0(df_states$state_codes, '<br>Population: ', df_states$pop),
type = "choropleth",
colors = 'Purples',
locationmode = "USA-states") %>%
layout(geo = list(scope="usa"))