La motivazione della scala quantile è di ottenere classi rappresentative della distribuzione effettiva dei valori nel set di dati. Pertanto, è necessario fornirlo durante la costruzione con l'elenco completo dei valori. La scala divide quindi il dominio di input (definito da questi valori) in intervalli (quantili), in modo che lo stesso numero di valori ricada in ciascuno degli intervalli.
Dalla documentazione:
per calcolare i quantili, il dominio di ingresso è ordinato, e trattato come una popolazione di valori discreti.
Quindi, quando si specifica il dominio che mano nella scala l'intero elenco di valori:
var scale = d3.scale.quantile()
.domain([1, 1, 2, 3, 2, 3, 16])
.range(['blue', 'white', 'red']);
Se quindi si esegue:
scale.quantiles()
Sarà uscita [2, 3 ] che significa che la nostra popolazione di valori è stata suddivisa in questi tre sottoinsiemi:
[1, 1] [2, 2] [3, 3, 16]
Si noti che questa scala deve essere evitata quando ci sono valori anomali nei dati che si desidera mostrare. Nell'esempio precedente 16 è un valore anomalo che cade nel quantile superiore. Viene assegnata la stessa classe di 3, che probabilmente non è il comportamento desiderato:
scale(3) // will output "red"
scale(16) // will output "red"
fonte
2013-07-09 16:52:45
Forse sai qual è il significato di quantile e come funziona? – user1365697
Se vuoi capire meglio come funzionano queste scale, puoi giocare con questa [visualizzazione] interattiva (http://bl.ocks.org/aviddiviner/84d905e60c6788f77ee21d35f873b236) che ho creato. – Dave