fix(app/utils): pie graph when less than 3 values

Needs to handle more than X values in the future, `d3.schemeSpectral` is not infinite
This commit is contained in:
Simon Lecoq
2023-09-11 20:54:45 -04:00
parent 956b0a78ce
commit 87081009b4

View File

@@ -959,8 +959,14 @@ export const Graph = {
const V = Object.values(data) const V = Object.values(data)
const I = d3.range(K.length).filter(i => !Number.isNaN(V[i])) const I = d3.range(K.length).filter(i => !Number.isNaN(V[i]))
//Colors
const spectral = [...d3.schemeSpectral]
spectral[0] = ["#000000"]
spectral[1] = spectral[3].slice(0, 1)
spectral[2] = spectral[3].slice(0, 2)
//Construct arcs //Construct arcs
const color = d3.scaleOrdinal(K, d3.schemeSpectral[K.length]) const color = d3.scaleOrdinal(K, spectral[K.length])
const arcs = d3.pie().padAngle(1 / radius).sort(null).value(i => V[i])(I) const arcs = d3.pie().padAngle(1 / radius).sort(null).value(i => V[i])(I)
const arc = d3.arc().innerRadius(0).outerRadius(radius) const arc = d3.arc().innerRadius(0).outerRadius(radius)
const labels = d3.arc().innerRadius(radius / 2).outerRadius(radius / 2) const labels = d3.arc().innerRadius(radius / 2).outerRadius(radius / 2)