miei dati ha percentuali come, ad esempio, [10.1, 3.2, 5.4]
d3.js: tickformat - aggiungendo un segno% senza moltiplicando per 100
d3.format("0f")
mi darà [10, 3, 5]
d3.format("0%")
mi darà [1010%, 320%, 540%]
(moltiplica per 100)
come ottengo [10%, 3%, 5%]
?
non riesco a capire dove aggiungere un + "%" per il primo caso o eliminare l'* 100 nel secondo caso
le corrispondenti parti del codice:
var formatPercent = d3.format("0f");
var min = 0;
var max = d3.max(data, function(d) { return + d[5]; });
max = Math.round(max * 1.2); // pad it
//define the x-axis
var xAxis = d3.svg.axis()
.scale(x)
.orient('top')
.ticks(6)
.tickFormat(formatPercent);
e dei dati viene in questo modo:
{
"Geography": [
["Midwest", 234017797, 498, 8.2, 9.0, 11.3],
["Northeast", 265972035, 566, 8.9, 12.1, 13.1],
["South", 246235593, 524, 8.1, 8.3, 10.8],
["West", 362774577, 772, 9.4,9.9, 11.7]
]
}
sono gli ultimi tre numeri in ogni riga che sono i valori percentuali che sto usando per tracciare le gamme. Voglio che l'asse x sia formattato in formato intero +% in base ai valori alti e bassi nei dati.
Grazie!
puoi postare un po 'di più del codice interessato? – tomtomtom
@tomtomtom Ho aggiunto ulteriori dettagli dal codice. Mi rendo conto che probabilmente potrei semplicemente manipolare i dati per max & min per aggirare questo problema, ma voglio sapere come aggiungere semplicemente un segno di percentuale. – rolfsf
var formatPercent = function (d) {return d3.format ("0f") + "%"} forse può fare il trucco, ma non sono così sicuro – tomtomtom