hvplot - как раскрасить данные точек по категориальной переменной и агрегировать с помощью `ds.count_cat (.)` - PullRequest
1 голос
/ 08 июня 2019

Я пытаюсь воссоздать перепись данных категорических примеров с 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.',)".

1 Ответ

1 голос
/ 08 июня 2019

Оказалось, что я не определил переменную для цвета, "расу", в пределах любого измерения holoviews. Его можно добавить к vdims через c="race" (c обозначает, на какой столбец нужно покрасить):

enter image description here

Полный код должен быть (включая пользовательскую карту цветов):

 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")

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...