GeoViews:具有 matplotlib 后端的 GeoDataFrames 的分类图例

2024-02-22

已安装的软件包

geoviews 1.9.1.,matplotlib 3.4.2。

我正在尝试做什么

For the Bokeh后端通过添加分类图例GeoViews是通过代理艺术家完成的,如中所述卡特里娜飓风路径示例 https://geoviews.org/gallery/bokeh/katrina_track.html,我设法让它发挥作用,但是这对Matplotlib后端?相应的卡特里娜飓风跟踪案例的 mpl 示例 https://geoviews.org/gallery/matplotlib/katrina_track.html#matplotlib-gallery-katrina-track,特别是不包括图例。另一个mpl带图例的示例都使用颜色条。

The HoloViews 图例示例 http://holoviews.org/gallery/demos/matplotlib/legend_example.html表明这是自动完成的,所以我认为这同样适用于GeoViews但是当尝试使用 GeoDataFrames 作为输入来重现示例时gv.Polygons,没有出现图例。

可重现的例子

import pandas as pd
import geopandas as gpd
import geoviews as gv
from geoviews import opts

gv.extension('matplotlib')

d1 = {'use': {0: 'Residential', 1: 'Residential'},
'geometry': {0: 'POLYGON ((13.80961103741604 51.04076975651729, 13.80965521888065 51.04079016168103, 13.80963851766593 51.04080454197601, 13.80959433642561 51.04078412781548, 13.80961103741604 51.04076975651729))',
1: 'POLYGON ((13.80977831740752 51.04313480566009, 13.80987122363639 51.04306085051974, 13.8099989591537 51.04312462457182, 13.80995486494384 51.04315973323087, 13.8099651184249 51.04316486464228, 13.80991634926543 51.04320371166482, 13.80977831740752 51.04313480566009))'}}

gdf1 = gpd.GeoDataFrame(pd.DataFrame(d1), geometry=gpd.GeoSeries.from_wkt(pd.DataFrame(d1)['geometry']), crs="EPSG:4326")

d2 = {'geometry': {1: 'POLYGON ((13.80894179055831 51.04544128170094, 13.80952887156242 51.0450399782091, 13.80954152432486 51.04504668985658, 13.80896834397535 51.04545611172818, 13.80894179055831 51.04544128170094))'}}

gdf2 = gpd.GeoDataFrame(pd.DataFrame(d2), geometry=gpd.GeoSeries.from_wkt(pd.DataFrame(d2)['geometry']), crs="EPSG:4326")


feature1 = gv.Polygons(gdf1, group="group1", label='label1')
feature2 = gv.Polygons(gdf2, group="group2", label='label2')

layout = feature1.opts(color='red') * feature2.opts(color='lightgrey')

layout.opts(
            opts.Polygons('group1', cmap=['red'], edgecolor='black', linewidth=0.5, xaxis=None, yaxis=None),
            opts.Polygons('group2', cmap=['lightblue'], edgecolor='blue', linewidth=0.5),
            opts.Overlay(fig_size=500)
        )
        
gv.output(layout)

任何指示将不胜感激(如果可能的话,在更早的相关SO问题 https://stackoverflow.com/questions/68318769/geoviews-applying-matplotlib-styling-parameters-to-polygons-elements我几周前的作品)。


这可能是由于这个已知问题仍然悬而未决:https://github.com/holoviz/geoviews/issues/450 https://github.com/holoviz/geoviews/issues/450

您的示例和链接问题中的示例都会导致此错误:

File ~\.conda\envs\py38\lib\site-packages\matplotlib\legend_handler.py:768, in HandlerTuple.create_artists(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)
    766 for handle1 in orig_handle:
    767     handler = legend.get_legend_handler(handler_map, handle1)
--> 768     _a_list = handler.create_artists(
    769         legend, handle1,
    770         next(xds_cycle), ydescent, width, height, fontsize, trans)
    771     a_list.extend(_a_list)
    773 return a_list

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

GeoViews:具有 matplotlib 后端的 GeoDataFrames 的分类图例 的相关文章

  • 将当前时间戳保存在共享首选项中

    我想做一个应用程序 而且我是android新手 我有10张照片 当我摇动手机时 我想每天以随机的方式显示这些图片中的一张 我编写了摇动代码并随机显示这些图片 但我无法每天显示其中一张 你能帮我看看共享偏好的代码是怎样的吗 public cl
  • 清除 SGS2 上的剪贴板 (api 10)

    我正在使用三星 Galaxy S2 并尝试了以下操作 import android text ClipboardManager ClipboardManager clipboard ClipboardManager context getS
  • Koin:如何降低模块的可见性(私有非导出模块)

    我正在使用 Koin 3 2 它具有新的模块包含功能 在里面官方文档 https insert koin io docs reference koin core modules linking modules strategies 在讨论模
  • Xcode 6.3.1 错误:等待获取模块“X”的锁定文件超时,其中“X”是我的框架

    我的工作区中有以下项目 Common Security 依赖于Common Data 依赖于Common Security and CoreData Api 依赖于Common Security Data MyApp 依赖于Common S
  • 错误状态:无法获取 DocumentSnapshotPlatform 上不存在的字段,Firebase Flutter

    我通过文档 ID 获取数据 但收到此错误 错误状态 无法获取 DocumentSnapshotPlatform 上不存在的字段 这是working 我可以通过文档 id 从 firebase 获取数据 但它在调试控制台中给出错误 我正在获取
  • 在外部启动类中配置服务时出错-Azure函数[关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我最近使用 azure devops 在 azure 上重新部署了一个应用程序 并进行了微小的更改 向模型添加了一个字段 在天蓝色功能
  • 在react中使用recoil.js,在类组件中不使用hooks

    我是反冲新手 我正在使用所有类别组件 这是我的后坐力状态 export const tokenState atom key tokenState default 如何在类组件中使用recoil并设置token 我用过RecoilRoot在应
  • 网格与画布

    我正在寻找有关在 WPF 中使用 Canvas 与 Grid 面板的意见 我需要制作基本具有网格布局的经典输入表单 有些可能内部有小型数据网格 组框 但全部在网格布局中对齐 我正在纠结是否为我的所有表单使用网格面板或画布面板 网格给了我良好
  • 如何在 ios-charts 中为 BarChartView 添加 XAxis 标签

    我添加了一个条形图 https github com danielgindi ios charts到故事板 但我无法正确设置数据条目的标签 这是我的代码 var names aaa bbb ccc ddd var values 230 0
  • 淡入和/或淡出占位符文本

    有没有办法淡入和淡出输入的占位符文本 我试过了 userBox webkit input placeholder animate color 888888 500 但这只是崩溃 如果您想在焦点时淡出 并在模糊时淡入 当输入框为空时 以下内容
  • 旧版 IE JavaScript 不支持 indexOf

    从输入文件类型我将 fullPath 整个本地路径名 传递给 javascript 并且我已经编写了 javascript 来了解文件扩展名类型 while fullPath indexOf 1 fullPath fullPath slic
  • 保存 Canvas 图像(将数据字符串发布到 PHP)

    我正在学习 Javascript 并且一直想学习一段时间 我得到了一些关于如何创建 HTML5 Canvas 绘图应用程序的小教程 我正在尝试对其进行修改 以便可以将图像保存到我的 MySQL 数据库中 到目前为止 下面的代码只是重定向到我
  • Laravel 命令和作业

    我想知道 Laravel 5 1 中不同的类似命令的类之间有什么区别 据我所知 Laravel 5 1 有以下可用 控制台命令 artisan make console Commands artisan make command 处理程序
  • 使用 Lambda (node.js) 的 DynamoDB 查询:不支持查询关键条件

    我尝试从 Lambda 函数查询我的 dynamoDB 我的表使用 id 作为哈希键 我尝试了以下两个版本并收到了相应的错误消息 我究竟做错了什么 var params TableName addresses KeyConditionExp
  • Blend KeyTrigger 多次触发

    我在 WPF 项目中使用 Blend SDK KeyTrigger 并且遇到这样的问题 每次按下指定的键 此处为 DeleteCommand 时 都会多次触发该事件

随机推荐

  • 灯塔中最大的内容油漆 (LCP) 是 p 标签。 (使用盖茨比)

    我不知道为什么我的 LCP 会是一个 p 标签 也不知道我会采取什么措施来减小它的大小 有时它会达到 2 6 秒并给出黄色评级 而不是绿色 这是 p 标签 所有这些类都是引导类 p aboutText p 这是变量aboutText con
  • 从现有矩阵中提取矩阵

    我编写了一段代码来生成一个四列矩阵 以获取总和等于 9 且每个数字从 0 到 9 变化的所有数字组合 m zeros 220 4 pd 9 i 1 for p 0 1 pd for q 0 1 pd p for a 0 1 pd q p m
  • 在 R igraph 中正确着色顶点

    我正在使用 igraph 给顶点着色 我有两个 CSV 文件答案和图表拓扑 答案 这表明玩家 K 和 N 回答正确 Player Q1 I1 1 k 1 2 l 0 3 n 1 4 m 0 拓扑 表示谁与谁相连 Node 1 Node 2
  • 使用 extraOptimizations 改造 Spark SQL AST

    我想将 SQL 字符串作为用户输入 然后在执行之前对其进行转换 特别是 我想修改顶级投影 select 子句 注入要由查询检索的附加列 我希望通过使用 Catalyst 来实现这一点sparkSession experimental ext
  • 如何使用 iframe 内的函数从父页面删除 iframe?

    我有一个使用书签放在页面上的 iframe 当我导航到此 iframe 内的某个页面时 我希望此 iframe 自行关闭 如何使用 JavaScript 做到这一点 注意 iframe 和容器页面位于不同的域中 据我所知 您无法从 ifra
  • Python:异步生成器已在运行

    如下例所示 我在使用异步生成器时遇到了异常错误 async def demo async def get data for i in range 5 loop for or while await asyncio sleep 1 some
  • Azure Web 应用程序与 Azure 移动应用程序

    我今天创建了一个Azure Web应用程序 它在设置中有一个移动部分 其中包含推送通知 移动身份验证等 您甚至可以下载移动客户端应用程序的源代码 我知道这曾经是移动应用程序 移动服务 的一部分 我创建了一个 Azure 移动应用程序来与 W
  • 识别活动网络接口

    在 NET 应用程序中 如何识别使用哪个网络接口与给定 IP 地址进行通信 我在具有多个网络接口 IPv4 和 v6 的工作站上运行 并且我需要获取用于流向给定数据库服务器的 正确 接口的地址 最简单的方法是 UdpClient u new
  • Allure Framework:TestNG 适配器错误地将 @AfterMethod 放置在报告中

    我正在使用 allure V1 4 8 TestNG 看起来 TestNG 适配器错误地将 AfterMethod 放置在报告中 基本上它将 AfterMethod 从测试用例放入下一个测试用例中 这是简单的代码 Step a test1
  • 从 .Net 应用程序打开 Windows 7 帮助 (helpPane.exe)

    我正在尝试从 Net 表单应用程序打开 Windows 7 帮助到特定书签 例如在打印机安装时 我尝试以与打开控制面板小程序相同的方式打开它 在下面的示例中返回和恢复 ProcessStartInfo startInfo new Proce
  • 当页面滚动到顶部时,Next.js 链接不会呈现

    我有一个像这样的组件 const Milestone props gt const path disabled index rest props if disabled return
  • 生成一定范围内的唯一随机数

    我需要在一定范围内生成随机的唯一数字 我该怎么做 我可以通过以下方式生成随机数 generator arr x rand min max len count arr flag 0 for i 0 i lt len i if flag 1 g
  • 如何在javascript中打印所有百分比超过70%的学生姓名?

    我在用json rule engine https www npmjs com package json rules engine https www npmjs com package json rules engine我有一份学生名单
  • 在 R 中向量化循环

    必须有一种简单的方法来向量化 R 中的以下循环 但我看不到它 w lt numeric 10 z lt rnorm 20 v lt c sample 1 10 10 sample 1 10 10 Random ordering of c 1
  • jQuery AJAX 提交表单

    我有一张带有姓名的表格orderproductForm以及未定义数量的输入 我想做某种 jQuery get 或 ajax 或类似的东西 通过 Ajax 调用页面 并发送表单的所有输入orderproductForm 我想一种方法是做类似的
  • pyside-uic 在哪里?

    我正在尝试使用 Qt Designer 和 pyside uic mydesign ui gt design py 但是 这个程序不存在 我查看了 python 2 7 下的站点包 我看到 pyside lupdate exe pyside
  • 创建项目后如何将 ndk 设置从默认 C++ 工具链更改为 C++14?

    我使用默认的 C 工具链创建了一个 Android 项目 现在 当我尝试包含双簧管上包含 C 14 功能的示例项目的代码片段时 我不断收到错误 因此 我尝试包含代码来创建模板 但现在它使我的代码变得混乱 并转储了我不希望有的声明 我尝试提及
  • 使用 Meteor.settings 功能

    Meteor 最近添加了一个全新的Meteor 设置 http docs meteor com meteor settings meteor settings对象从 v0 5 4 开始 并且以一种极其烦人的方式 没有在他们的文档中正确解释如
  • 如何将一些 XML 元素包含在边界框中?

    我想在此处附上一对复选框和单选按钮 在矩形或 边界框 中 使其看起来像这样 当然 但不那么难看 如何以以下 XML 作为起点来做到这一点
  • GeoViews:具有 matplotlib 后端的 GeoDataFrames 的分类图例

    已安装的软件包 geoviews 1 9 1 matplotlib 3 4 2 我正在尝试做什么 For the Bokeh后端通过添加分类图例GeoViews是通过代理艺术家完成的 如中所述卡特里娜飓风路径示例 https geoview