python - 使用plotly绘制geopandas数据框

标签 python plotly geopandas

我有一个geopandas数据框,它由区域名称(地区),几何列和数量列组成。我的目标是使用下面提到的方法绘制一个Choropleth贴图
https://plotly.com/python/choropleth-maps/#using-geopandas-data-frames
这是我的数据框的一小段

我还检查了我的列是否使用了正确的格式/类型。
enter image description here
这是我用来绘制 map 的代码

fig = px.choropleth(merged,

                   geojson=merged.geometry,

                   locations=merged.index,

                   color="Amount")

fig.update_geos(fitbounds="locations", visible=False)

fig.show()
它产生了下图
enter image description here
这显然不是正确的数字。由于某些原因,它不显示 map ,而是显示一条线,当我放大时,我可以看到 map ,但其中有贯穿的线。像这样
enter image description here
有没有人遇到过类似的问题?如果是这样,您如何解决呢?
我正在使用的Plotly版本是4.7.0。我曾尝试升级到最新版本,但仍然无法正常工作。
任何帮助是极大的赞赏。请在github上找到我的代码和数据。

最佳答案

我将为您解决@tgrandje的评论提供答案。感谢@Poopah和@tgrandje提供了提出答案的机会。

import pandas as pd
import plotly.express as px
import geopandas as gpd
import pyproj

# reading in the shapefile
fp = "./data/"
map_df = gpd.read_file(fp)
map_df.to_crs(pyproj.CRS.from_epsg(4326), inplace=True)

df = pd.read_csv("./data/loans_amount.csv")
# join the geodataframe with the cleaned up csv dataframe
merged = map_df.set_index('District').join(df.set_index('District'))
#merged = merged.reset_index()
merged.head()

fig = px.choropleth(merged, geojson=merged.geometry, locations=merged.index, color="Amount")
fig.update_geos(fitbounds="locations", visible=False)

fig.show()
enter image description here

关于python - 使用plotly绘制geopandas数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65507374/

相关文章:

python - geopandas 可以获取 geopackage(或其他矢量文件)的所有图层吗?

Python处理for循环进行比较

python - 如何将从 YAML 文件中检索到的 utf-8 文件名用于 os.path.isdir()?

Python Numpy One 热到区域

R plotly : Custom hover text does not appear when only one stacked bar

python - 如何在plotly中使用这种科学记数法?

python - 获取 GeoPandas 中几何图形之间的交叉点计数

python - 使用 GeoPandas 计算其他多边形内的多边形面积

python - 替换为 SymPy 中的多个子表达式

javascript - 调整大小并使 PotlyJS 的 fiddle 图表响应