Как настроить формат значения Y с секунды до мин / сек в nvd3.js

StackOverflow https://stackoverflow.com//questions/22004458

  •  20-12-2019
  •  | 
  •  

Вопрос

Я пытаюсь нарисовать диаграмму с данными в следующем формате:

[
 {'label':'0', 'seconds':1094},
 {'label':'1', 'seconds':1096},
 {'label':'2', 'seconds':1112},
 ...
]
.

и результат выглядит так: Введите описание изображения здесь

Это выглядит хорошо и вопрос: Как настроить формат отображения значения y к этому? :

Введите описание изображения здесь

<Сильное> Обновление: Код, создающий график

nv.addGraph(function() {
    var chart = nv.models.multiBarHorizontalChart()
        .x(function(d) { return d.label })
        .y(function(d) { return d.value })
        .margin({top: 30, right: 20, bottom: 50, left: 20})
        .showValues(true)           //Show bar value next to each bar.
        .tooltips(false)             //Show tooltips on hover.
        .transitionDuration(350)
        .showControls(true);        //Allow user to switch between "Grouped" and "Stacked" mode.

    chart.yAxis
        .tickFormat(d3.format(',.0f'));    

    d3.select('#chart1 svg')
        .datum(jsonData)
        .call(chart);

    nv.utils.windowResize(chart.update);

    return chart;
});
.

Это было полезно?

Решение

Попробуйте что-то вроде этого

 chart.yAxis.tickFormat(function(d) {
    // %M - minute as a decimal number [00,59].
    // %L - milliseconds as a decimal number [000, 999].
    return d3.time.format('%M%L')(new Date(d))
});
.

<Сильное> Обновление:

// Line Not Tested but valueFormat should do the trick
chart.valueFormat(d3.time.format('%M%L')); 
.

Посмотрите на this Если вам нужно больше времени форматирования форматирования.

Надеюсь, это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top