Datashader действительно не обрабатывает категориальные оси, как здесь, но это не столько ограничение программного обеспечения, сколько мое воображение - что должно делать с ними? Диаграмма рассеяния Datashader (Canvas.points) предназначена для очень большого числа точек, расположенных на непрерывно индексируемой 2D-плоскости. Такой график аппроксимирует двухмерную функцию распределения вероятности, накапливая точки на пиксель, чтобы показать плотность в этой области, и выявляя пространственные закономерности по пикселям.
Категориальная ось не обладает теми же свойствами, что и непрерывная числовая ось, поскольку между смежными значениями нет пространственной связи. В частности, в этом случае нет никакого очевидного смысла в упорядочении поля идентификатора (кажется, что это буквенный код для типа спортивного события), поэтому я не вижу смысла накапливать значения идентификатора на пиксель так, как это делает Datashader. предназначен для этого. Даже если вы конвертируете идентификаторы в числа, вы получите либо случайный шум (если значений идентификаторов больше, чем вертикальных пикселей), либо серию пятнистых линий (если значений идентификаторов меньше, чем пикселей).
Здесь, может быть, есть только несколько десятков или около того уникальных значений идентификаторов, но много, много измерений времени? В этом случае большинство людей будет использовать прямоугольник, скрипку, гистограмму или гистограмму для каждого идентификатора, чтобы увидеть распределение значений для каждого значения идентификатора. График точек Datashader - это 2D гистограмма, но если одна ось является категориальной, вы действительно имеете дело с набором 1D гистограмм, а не с одной комбинированной 2D гистограммой, поэтому просто используйте гистограммы, если вы ищете.
Если вы действительно хотите попробовать построить все точки для каждого идентификатора как необработанные точки, вы можете сделать это, используя события вертикального всплеска, как в https://examples.pyviz.org/iex_trading/IEX_stocks.html. Вы также можете добавить некоторое вертикальное дрожание и затем использовать Datashader, но это прямо сейчас не поддерживается, и у него нет четкой математической интерпретации, которую делает обычный график Datashader (в терминах аппроксимации функции плотности).
![taxi tips](https://i.stack.imgur.com/vt3Ry.png)