Оценка плотности — Density
Преобразование density выполняет одномерную ядерную оценку плотности входных данных и создаёт новый столбец со значениями оценённой плотности в выбранных точках.
Этот простой пример показывает распределение оценок IMDB в наборе данных о фильмах:
import altair as alt
from altair.datasets import data
alt.Chart(data.movies.url).transform_density(
'IMDB Rating',
as_=['IMDB Rating', 'density'],
).mark_area().encode(
x="IMDB Rating:Q",
y='density:Q',
)
Плотность можно вычислить отдельно для каждой группы, указав аргумент groupby. Здесь вычисление из предыдущего примера разделено по жанрам фильмов:
import altair as alt
from altair.datasets import data
alt.Chart(
data.movies.url,
width=120,
height=80
).transform_filter(
'isValid(datum["Major Genre"])'
).transform_density(
'IMDB Rating',
groupby=['Major Genre'],
as_=['IMDB Rating', 'density'],
).mark_area().encode(
x="IMDB Rating:Q",
y='density:Q',
).facet(
'Major Genre:N',
columns=4
)
Параметры преобразования
Метод Chart.transform_density основан на классе DensityTransform, который поддерживает следующие параметры:
Нажмите, чтобы показать таблицу
| Свойство | Тип | Описание |
|---|---|---|
as | array(FieldName) | Выходные поля для значения точки выборки и соответствующей оценки плотности. По умолчанию: |
bandwidth | number | Ширина гауссовского ядра (стандартное отклонение). Если не задана или равна нулю, автоматически оценивается по входным данным с помощью правила Скотта. |
counts | boolean | Логический флаг: выводить оценки вероятности ( |
cumulative | boolean | Логический флаг: получать оценки плотности ( |
density | FieldName | Поле данных для оценки плотности. |
extent | array(number) | Диапазон |
groupby | array(FieldName) | Поля данных для группировки. Если не заданы, используется одна группа, содержащая все объекты данных. |
maxsteps | number | Максимальное число точек в диапазоне для построения плотности. По умолчанию: |
minsteps | number | Минимальное число точек в диапазоне для построения плотности. По умолчанию: |
resolve | ['independent', 'shared'] | Способ согласования параметров нескольких распределений плотности. При |
steps | number | Точное число равномерно расположенных точек в диапазоне для построения плотности. Если задано, переопределяет |