首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用图解法绘制地质雷达数据

用图解法绘制地质雷达数据
EN

Stack Overflow用户
提问于 2020-12-30 12:59:25
回答 2查看 10.4K关注 0票数 15

我有一个位势数据,它由区域name(District),、几何学列和 column 列组成。我的目标是用下面提到的https://plotly.com/python/choropleth-maps/#using-geopandas-data-frames方法绘制一张副线图。

这是我的数据片段

我还检查了我的列的格式/类型是否正确。

这是我用来绘制地图的代码

代码语言:javascript
复制
fig = px.choropleth(merged,

                   geojson=merged.geometry,

                   locations=merged.index,

                   color="Amount")

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

fig.show()

它得出了以下数字

这显然不是正确的数字。出于某些原因,它没有显示地图,而是显示了一条线,当我放大时,我可以看到地图,但它有线条贯穿其中。像这样

有没有人遇到过类似的问题?如果是这样的话,你是如何解决的?

我使用的实际版本是4.7.0。我试过升级到最近的版本,但仍然没有工作。

任何帮助都是非常感谢的。请在我的github上找到我的代码和数据。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-08 04:00:05

我会给你解决问题的@tgrandje的评论的答案。感谢“Poopah”和“tgrandje”给了我们提出答案的机会。

代码语言:javascript
复制
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()

票数 29
EN

Stack Overflow用户

发布于 2022-07-26 20:29:06

这个答案 over at gis.stackexchange.com中提到了问题的另一个可能来源(当使用实际的gis.stackexchange.com时):

  1. locations参数必须指向与GeoJSON的id匹配的列。
  2. geojson参数需要一个字典。

要解决问题,您应该:(i)将位置指向dataframe的索引,(ii)将GeoJSON字符串转换为字典。

这并不完全是你问题的答案,但我认为我的问题和你的一样,这帮助了我。所以我在这里包括答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65507374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档