density
|
Страница в процессе перевода. |
#
Makie.density — Function
density(values)
Строит график ядерной оценки плотности для values.
Тип графика
Псевдоним типа графика для функции density — Density.
Примеры
using CairoMakie
f = Figure()
Axis(f[1, 1])
density!(randn(200))
f
using CairoMakie
f = Figure()
Axis(f[1, 1])
density!(randn(200), direction = :y, npoints = 10)
f
using CairoMakie
f = Figure()
Axis(f[1, 1])
density!(randn(200), color = (:red, 0.3),
strokecolor = :red, strokewidth = 3, strokearound = true)
f
using CairoMakie
f = Figure()
Axis(f[1, 1])
vectors = [randn(1000) .+ i/2 for i in 0:5]
for (i, vector) in enumerate(vectors)
density!(vector, offset = -i/4, color = (:slategray, 0.4),
bandwidth = 0.1)
end
f
Градиенты
Графики плотности можно раскрасить градиентами, выбрав color = :x или :y в зависимости от атрибута direction.
using CairoMakie
months = ["January", "February", "March", "April",
"May", "June", "July", "August", "September",
"October", "November", "December"]
f = Figure()
Axis(f[1, 1], title = "Fictive temperatures",
yticks = ((1:12) ./ 4, reverse(months)))
for i in 12:-1:1
d = density!(randn(200) .- 2sin((i+3)/6*pi), offset = i / 4,
color = :x, colormap = :thermal, colorrange = (-5, 5),
strokewidth = 1, strokecolor = :black)
# это помогает при наложении слоев в GLMakie
translate!(d, 0, 0, -0.1i)
end
f
Действуют технические ограничения: если вы закрашиваете измерение :vertical (или :horizontal с direction = :y), в настоящее время может работать только цветовая карта, созданная с использованием только двух цветов:
using CairoMakie
f = Figure()
Axis(f[1, 1])
for x in 1:5
d = density!(x * randn(200) .+ 3x,
color = :y, colormap = [:darkblue, :gray95])
end
f
Использование статистических весов
using CairoMakie
using Distributions
N = 100_000
x = rand(Uniform(-2, 2), N)
w = pdf.(Normal(), x)
fig = Figure()
density(fig[1,1], x)
density(fig[1,2], x, weights = w)
fig
Атрибуты
bandwidth
Значение по умолчанию: automatic
пропускная способность для плотности ядра; при значении automatic определяется автоматически.
boundary
Значение по умолчанию: automatic
граница оценки плотности; при значении automatic определяется автоматически.
color
Значение по умолчанию: @inherit patchcolor
обычно задается один цвет, но также можно задать :x или :y для окрашивания с градиентом. Если используется :y при direction = :x (или наоборот), учтите, что правильно будут работать только двухэлементные цветовые карты.
direction
Значение по умолчанию: :x
измерение, по которому распределены значения values. Возможные значения: :x или :y.