Sto utilizzando i grafici d3.js in una delle mie applicazioni. Eccoli in questa immagine Vedi ChartsCome impostare il dominio e la scala su un yaxis su una discreteBarChart nvd3.js
per l'asse Y sul grafico Denaro (vedere nell'immagine), voglio il massimo valore arrotondato a 400, non importa quale sia la dimensione massima bar è qui che è di $ 358,72, ma voglio per mantenere la barra a 358,72 ma sull'asse Y sarebbe 400 Limite.
codice perché è qui
tradesChart = [
{
key: "Cumulative Return",
values: [
{
"label" : "6E",
"value" : 100 },
{
"label" : "NG",
"value" : 100 },
{
"label" : "TF",
"value" : 67 } ]
}
];
nv.addGraph(function() {
var chart = nv.models.discreteBarChart()
.x(function(d) { return d.label })
.y(function(d) { return d.value/100 })
.staggerLabels(true)
.showValues(true)
.valueFormat(d3.format('.0%'))
chart.yAxis.tickFormat(function(d) { return d3.format('d')(d*100) + '%'; });
d3.select('#chart-trades svg')
.datum(tradesChart)
.transition().duration(500)
.call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
Gentilmente mi aiuto per risolvere questo fuori
Grazie che funzionavano, ma una più quetion, come posso impostare dinamicamente intervalli utilizzando questo ho già provato questo 'd3.max (dati, funzione (d) {return dv;}) 'ma non funziona .. –
d3.max funzionerà per impostare il valore massimo nei dati. Tuttavia, se si desidera utilizzare il massimo dei dati effettivi * o * un valore statico (400 per esempio) si potrebbe fare con qualcosa del tipo: yScale.domain ([0, d3.max (data, funzione (d) {return dv> 400? dv: 400;})]); Ho aggiornato il violino per mostrare questa tecnica su http://jsfiddle.net/activescott/69cwn/32/ –