python - hvplot - 如何通过分类变量为点数据着色并与 `ds.count_cat(.)` 聚合
问题描述
我正在尝试使用hvplot重新创建数据着色器人口普查分类示例。
import cartopy.crs as ccrs
import datashader as ds
import dask.dataframe as dd
import hvplot.dask
ddf = dd.read_parquet("census2010.parq").persist()
ddf.hvplot.points(x="easting", y="northing",
aggregator=ds.count_cat("race"),
datashade=True,
crs=ccrs.GOOGLE_MERCATOR)
不幸的是,我得到:
WARNING:param.dynamic_operation: Callable raised "ValueError('Aggregation column race not found on :Points [easting,northing] element. Ensure the aggregator references an existing dimension.',)".
解决方案
事实证明,我没有在任何全息视图维度中定义变量来着色,“种族”。它可以vdims
通过c="race"
(c
表示要在哪一列上着色)添加:
完整的代码应该是(包括自定义颜色图):
ddf.hvplot.points(x="easting", y="northing",
c="race",
cmap={'w':'aqua', 'b':'lime', 'a':'red', 'h':'fuchsia', 'o':'yellow' }
aggregator=ds.count_cat("race"),
datashade=True,
crs=ccrs.GOOGLE_MERCATOR,
).opts(bgcolor="black")
推荐阅读
- javascript - 为 Twitter API 创建动态签名的问题
- r - 如何在 R 中正确执行 3-way MANOVA?
- java - Chronometer 和 ViewModel 的问题
- azure - Azure 应用服务是否可以绑定到客户端的外部 Azure AD?
- ethereum - 如何连接到 Livepeer 到 Rinkeby 网络?
- node.js - Apollo Graphql:重放查询
- python - 如何使用 OpenCV 测量线性极坐标变换数据的距离
- node.js - 如何在 nodeJS 中重新连接到 galera 集群 mariaDB 数据库
- sequelize.js - 我在预约时收到此错误 即使根据文件进行了推荐加入,这可能是什么?
- javascript - 如何查看带有引号内文本的字符串,但使用正则表达式忽略括号内的任何内容?