Plotly.express choropleth 仅显示一种颜色

2024-04-04

我正在尝试使用创建一个 choroplethplotly.express。该图能够加载,但它只显示一种颜色。我可以将鼠标悬停在每个功能上,它会显示相关信息,但不以可变颜色显示。这意味着它正在读取 geojson 但无法正确显示。u/geds133 也有同样的问题 https://stackoverflow.com/questions/61966708/plotly-express-choropleth-only-showing-some-information-from-geojson,但由于声誉较低,我无法联系他们或发表评论。

这是我的“预测”df:

import pandas as pd
predictions = pd.read_csv("Predictions_DF_2002.csv")

predictions.head()

huc12           Predicted PRBT   Std
170102120304    30.677075        23.348831
170102120603    31.362211        23.784001
90400010201     5.697461         7.688427
100301040401    3.493039         5.36472
170101011208    4.421055         11.924093

我试图将 DataFrame 与 geojson 文件中的属性进行匹配:

#Read in geojson
import geopandas as gpd
import json


hucs = gpd.read_file(~/"HUC.geojson")

#Populate hucs['properties'] (i.e. convert to plotly-readible geojson-type)
hucs = json.loads(hucs.to_json())

#Print Properties for sanity check
print(hucs['features'][0]['properties'])
#...<a bunch of stuff we don't care about> 
{'huc12':170102120304}
#...

因此,我可以使用featureidkey参数来指定匹配值的位置locations如中所写the docs https://plotly.com/python/choropleth-maps/#choropleth-maps-with-gochoropleth。这是我用来创建分区统计图的代码:

fig = px.choropleth(predictions,
                    geojson=hucs, color='Predicted PRBT',
                    locations='huc12', featureidkey='properties.huc12',
                    color_continuous_scale="Viridis", labels={'Predicted PRBT':'Predicted % RBT'})
fig.update_geos(fitbounds="locations",visible=False)
fig.show()

And here is what the output shows. Note that mouse-over shows relevant information: Choropleth Output

我的 geojson 和 csv 可供下载here https://drive.google.com/file/d/1yUBsWTeOUbKe8kkNQlE_tUKBsO_fV5h0/view?usp=sharing.


在绘图之前必须展开 geojson:

#Read in geojson
import geopandas as gpd
import json


hucs = gpd.read_file(~/"HUC.geojson")

#Populate hucs['properties'] (i.e. convert to plotly-readible geojson-type)
hucs = json.loads(hucs.to_json())

from geojson_rewind import rewind
hucs_rewound = rewind(hucs,rfc7946=False)


fig = px.choropleth(predictions,
                    geojson=hucs_rewound, color='Predicted PRBT',
                    locations='huc12', featureidkey='properties.huc12',
                    color_continuous_scale="Viridis", labels={'Predicted PRBT':'Predicted % RBT'})
fig.update_geos(fitbounds="locations",visible=False)
fig.show()

See https://github.com/plotly/plotly.py/issues/2354#issuecomment-638742767 https://github.com/plotly/plotly.py/issues/2354#issuecomment-638742767 and https://github.com/plotly/plotly.py/issues/2619 https://github.com/plotly/plotly.py/issues/2619 Solved

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Plotly.express choropleth 仅显示一种颜色 的相关文章

随机推荐

  • 这里使用持久ID来解决什么pickle问题?

    From https docs python org 3 library pickle html persistence of external objects https docs python org 3 library pickle
  • 如何定义分层数据结构的DDD聚合根?

    我目前正在尝试将领域驱动设计原则应用于我的开发实践 我一直致力于如何为按层次结构组织的数据定义聚合根 我们以文件夹结构为例 每个文件夹可以有 0 N 个子文件夹 子文件夹 0 N 也可以有 0 N 个子文件夹 依此类推 我对文件夹及其所有直
  • 将标签分配给相应的网格单元

    我从头开始编写了一个 YOLO 模型 并有一个 numpy 数组 如下所示 1 0 1 0 4 0 3 0 2 0 1 1 1 0 0 2 0 3 0 4 0 5 0 0 0 0 0 0 0 这就是它在 pandas 对象中的样子 Obj
  • 导入错误:无法导入名称“语言”

    我正在尝试运行 python 脚本 但收到此错误 from iso639 import languages ImportError cannot import name languages 我已经安装了iso639 但仍然出现此错误 任何想
  • 如何在 PHP 中从 ipinfo.io 获取位置?

    我在用ipinfo io http ipinfo io使用 PHP 获取我当前的城市 位置 但是 使用这段代码时我无法看到我的城市 ipaddress SERVER REMOTE ADDR function ip details ip js
  • Rails:如何限制 has_many 关联中的项目数量(来自父级)

    我想限制协会中的项目数量 我想确保用户拥有的东西不超过 X 件 这个问题之前被问过 https stackoverflow com questions 7863618 rails 3 1 limit user created objects
  • flutter 使用 url_launcher uri 发送电子邮件

    我正在使用 url launcher 在我的应用程序中使用系统电子邮件发送电子邮件 我正在使用下面的代码 这个人做得很好 void launchEmailSubmission async final Uri params Uri schem
  • 类只有静态字段和方法是不好的做法吗?

    我有一堂课 其中包括only静态成员变量和静态方法 本质上 它充当通用实用程序类 类只包含静态成员变量和静态方法是不好的做法吗 不 我一点也不这么认为 拥有一个充满实例方法的类是更糟糕的做法 而这些实例方法实际上并不依赖于特定实例 使它们静
  • int b=0,a=1;b=++a+++a; b 的值是多少?它的计算方法是什么? [复制]

    这个问题在这里已经有答案了 int main int b 0 a 1 initialize a and b b a a calculate assign the value of b print f d b return 0 b 的值是多少
  • CMake不知道Qt4 qmake在哪里

    我正在使用 Debian 操作系统 我试图指出 cmake 我的 Qt4 在哪里 我尝试构建 qjson 库及其 CMakeLists txt http pastebin com fKNp0Qgy http pastebin com fKN
  • 如何使用 os.listdir 仅选择一种文件类型?

    连接同一图像的 10 个条带后 我想将它们转换为反射率 然后将它们除以 10 000 尽管如此 我的文件夹中有两种类型的文件 但我只想将代码应用于 my img 文件而不是 hdr 您知道我如何使用 os listdir 进行此选择吗 我的
  • Jenkins 多配置项目处理并发设备使用

    Case 我有一个詹金斯奴隶女巫在移动设备 android ios 上运行葫芦测试 为了区分测试在哪些机器 iOS 的 mac 或 Android 的 Linux 上运行 我还使用Throttle 并发构建插件 通过这种方式 我可以区分设备
  • Spring Boot + Spring Security + CORS 中没有“Access-Control-Allow-Origin”

    我正在尝试使用 Spring security 进行 CORS 这是我的 WebSecurityConfigurerAdapter Configuration public class SecurityConfig extends WebS
  • 仅允许从触发器内插入

    我是 SQL 编程新手 我在网上找不到这个问题的答案 我正在使用 pl pgsql 希望获得以下结果 我有一个具有某些属性的表 A 我应该随时更新此表 因此 每当进行可能影响 A 值的更改 在与 A 相关的其他表 B 或 C 中 时 都会触
  • 如何删除启动画面之前出现的白屏?

    打开 java 文件时 我首先看到空白屏幕 然后出现闪屏布局 我有java文件 new Handler postDelayed new Runnable Override public void run Task finish ARG SP
  • 与 HibernateTemplate 和 SessionFactory 的单个数据库连接

    在java方面 一切工作正常 但是当我查看V SESSION特殊的oracle表 以及记录任何登录或注销操作的日志表时 这是一场灾难 每个查询都会执行登录 注销操作 所以这是我的问题 有没有办法配置 Spring 与数据库有一个唯一的连接
  • 从 .vbs 文件调用 VBA 宏会引发 800A03EC 错误

    我正在尝试通过 VBS 文件 文件名 Check final vbs 运行 VBA 宏 这是代码 Option Explicit run macro Sub run macro Dim xl1 Dim sCurPath Dim xlBook
  • 空响应返回 204

    当我执行 GET 请求但没有找到任何数据时 我的控制器返回 204 Route user v1 controller public class UserLoginController Controller HttpGet public as
  • 使用 Moq 模拟存储库

    为了模拟存储库 我使用下面的代码 我不明白为什么变量empl总是null 你知道我错过了什么吗 Thanks TestMethod public void Test var employee new Employee EmployeeID
  • Plotly.express choropleth 仅显示一种颜色

    我正在尝试使用创建一个 choroplethplotly express 该图能够加载 但它只显示一种颜色 我可以将鼠标悬停在每个功能上 它会显示相关信息 但不以可变颜色显示 这意味着它正在读取 geojson 但无法正确显示 u geds