GeoPandas 中的格式/圆形数字图例标签

2023-12-31

我正在寻找一种方法来格式化/舍入这些地图中的数字图例标签.plot()GeoPandas 中的函数。例如:

gdf.plot(column='pop2010', scheme='QUANTILES', k=4)

这给了我一个有很多小数位的图例:

我希望图例标签是整数。


由于我最近遇到了同样的问题,并且 Stack Overflow 或其他网站上似乎没有现成的解决方案,因此我想我会发布我采取的方法,以防万一它有用。

首先,使用的基本图geopandas世界地图:

# load world data set    
world_orig = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))
world = world_orig[(world_orig['pop_est'] > 0) & (world_orig['name'] != "Antarctica")].copy()
world['gdp_per_cap'] = world['gdp_md_est'] / world['pop_est']

# basic plot
fig = world.plot(column='pop_est', figsize=(12,8), scheme='fisher_jenks', 
                 cmap='YlGnBu', legend=True)
leg = fig.get_legend()
leg._loc = 3
plt.show()

我使用的方法依赖于get_texts()方法为matplotlib.legend.Legend对象,然后迭代中的项目leg.get_texts(),将文本元素拆分为下限和上限,然后创建一个应用格式的新字符串,并使用set_text() method.

# formatted legend
fig = world.plot(column='pop_est', figsize=(12,8), scheme='fisher_jenks', 
                 cmap='YlGnBu', legend=True)
leg = fig.get_legend()
leg._loc = 3

for lbl in leg.get_texts():
    label_text = lbl.get_text()
    lower = label_text.split()[0]
    upper = label_text.split()[2]
    new_text = f'{float(lower):,.0f} - {float(upper):,.0f}'
    lbl.set_text(new_text)

plt.show()

这在很大程度上是一种“反复试验”的方法,所以如果有更好的方法,我不会感到惊讶。不过,也许这会有帮助。

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

GeoPandas 中的格式/圆形数字图例标签 的相关文章

随机推荐

  • 如果我写了 system.out.println(); 则找不到包系统;

    我正在写一个简单的程序 class Demo public static void main String args system out println Hello 编译时它给出了error package system not foun
  • 如何将 xarray 数据集展平为一维 numpy 数组?

    有没有一种简单的方法可以将 xarray 数据集展平为单个一维 numpy 数组 例如 展平以下测试数据集 xr Dataset a xr DataArray data 10 11 12 13 14 coords x 0 1 2 3 4 d
  • 将 scipy 稀疏 csr 转换为 pandas?

    我已经用过 sklearn preprocessing OneHotEncoder 转换一些数据的输出是scipy sparse csr csr matrix如何将它与其他列一起合并回原始数据框 我尝试使用pd concat但我得到 Typ
  • 在 Octave 中读取 CSV 时出现问题

    我有一个 csv 文件 但无法在 Octave 上读取它 在 R 上 我只需使用下面的命令 一切都可以正常读取 myData lt read csv myData csv stringsAsFactors FALSE 但是 当我转到 Oct
  • 使用 angularjs 添加新元素到 DOM 中并不会启动它

    进一步解释 我正在使用 angular summernote 并使用指令在 DOM 内插入新的所见即所得编辑器实例 然而 当我将它插入到 DOM 中时 新编辑器不会加载 可能是因为 init 已经被触发了 这是我正在使用的指令 以及有效的
  • 在Mac中使用shell命令递归更改文件和文件夹的权限

    在Linux中 我们可以使用以下命令递归地更改文件和文件夹的权限模式 找到 Users Test Desktop PATH exec chmod 777 我怎样才能对 mac 做同样的事情 因为我反复收到以下错误 查找 TEST FILE
  • 使用 Ruby 中的 Selenium WebDriver 将 IE9 更改为 IE8

    我正在将 Selenium WebDriver 与 Ruby 结合使用 并尝试创建一个在 IE8 中测试的脚本 我无法找到有关如何设置 iedriver 以 IE8 模式启动或如何在 webdriver 启动后将其切换到 IE8 的答案 我
  • Ninject:实体对象无法被 IEntityChangeTracker 的多个实例引用

    我开始在我的 MVC5 代码优先应用程序中使用 Ninject 这是我的 NinjectWebCommon cs private static IKernel CreateKernel var kernel new StandardKern
  • 如何用假参数初始化 glut?

    我正在使用 opengl 使用 GLUT 和 GLEW 库为特定应用程序创建插件 该插件不是以简单的 int main argc argv 开头 所以我无法将这些值传递给 glutInit 我尝试过这样的事情 glutInit 0 NULL
  • 用于获取仅包含任何日期时间中的月份和年份的日期时间的 T-SQL 代码

    给定一个表Event包含一个名为EventTime类型为 DateTime 并且该值将包含日期和时间元素 我需要创建一个汇总查询来计算每个月的事件数 分组依据字段的结果类型还必须是带有 0 时间元素的日期时间 并设置为该月的第一天 这是我到
  • Windows 资源管理器中文件夹的“修改日期”规则

    Windows 资源管理器如何确定文件夹的 修改日期 字段 旁白 我知道这是从特定于浏览器的角度提出的问题 但该行为可能对编码搜索 排序类型活动有用 是否有对此的明确描述 Microsoft MSDN Google 和 Stack Over
  • 函数参数的部分绑定

    有没有办法部分地绑定第一个 最后一个n可调用对象 例如函数 的参数而不显式指定其余参数 std bind 似乎需要这样all参数是绑定的 那些剩下的应该绑定到std placeholders 1 2 3 etc 是否可以写一个bind fi
  • Numpy 多维数组中索引的顺序

    例如 假设我正在模拟一堆粒子随着时间的推移做某事 并且我有一个名为的多维数组particles与这些索引 粒子的 x y z 坐标 长度a 即3对于 3d 空间 单个粒子的索引 长度b 其所在时间步长的索引 长度c 构建数组是否更好part
  • Ajax.BeginForm 让我抓狂

    ASP NET MVC3 我有一个最初在 div 内呈现的部分视图 以下是部分代码 model Venue Models Validation CustomerRequestModel Scripts jquery 1 4 4 min js
  • 如何使用 Jmeter Correlation 从下拉列表中选择随机帐户

    我在正则表达式的帮助下使用关联设计了我的脚本 这里我的场景是登录 进入产品搜索屏幕 随机选择一个帐户并选择产品模板并下订单 在这里 我通过为每个组选择提供的帐户来完成关联并为 5 个用户运行脚本 但我想为每个用户选择不同的帐户 第一次登录时
  • 如何为 H2OFrame 对象一次强制多个列为因子?

    我正在尝试遵循有关问题的建议 同时将多个列强制为因子 https stackoverflow com questions 33180058 coerce multiple columns to factors at once 但它不适用于H
  • WPF中如何发现ScrollViewer滚动到最后?

    我有一个ScrollViewer我的自定义控件中的实例 我需要 scorollview 是否滚动到末尾的要求 有什么办法吗 您可以通过以下方式检查 scrollViewer ScrollChanged OnScrollChanged pri
  • 在加载上下文中加载非托管静态 dll

    我有本机非托管 dll 它是静态的 如果我想并行运行它 每次需要库做一些工作时都必须加载它 在 NET 中 我会使用 AppDomain 并在需要时加载此 dll 但在 NET Core 中 AppDomain 已经消失 暂时 我查看了 A
  • 路由关注和多态模型:如何共享控制器和视图?

    给定路线 Example Application routes draw do concern commentable do resources comments end resources articles concerns commen
  • GeoPandas 中的格式/圆形数字图例标签

    我正在寻找一种方法来格式化 舍入这些地图中的数字图例标签 plot GeoPandas 中的函数 例如 gdf plot column pop2010 scheme QUANTILES k 4 这给了我一个有很多小数位的图例 我希望图例标签