2015-09-01 2 views
0

Кто-нибудь знает о каких-либо присущих сокращениях, которые nvd3 делает для значений y? Данные кажутся правильными после JSON.parse, а даты на значениях x верны, но значения y отображаются намного ниже, чем они были введены. Примеры: первое значение y, равное 4.152, становится равным 0, а 5,557 - графом, равным 0,273, поэтому он не просто вычитает первое значение y, чтобы начать диаграмму в начале координат. Любое понимание очень ценится.nvd3 Форматирование диаграммы по оси y

Диаграмма код (в отдельном файле .js):

$(function() { 
    // nvd3 charts 
    tisa_nvd3_charts.cumulativeLine(); 
}) 

// nvd3 charts 
tisa_nvd3_charts = { 
    cumulativeLine: function() { 
     if ($('#nvd3_cumulativeLine').length) { 
      nv.addGraph(function() { 
       var chart = nv.models.cumulativeLineChart() 
        .useInteractiveGuideline(true) 
        .x(function (d) { return d[0] }) 
        .y(function (d) { return d[1] }) 
        .color(d3.scale.category20().range()) 
        .transitionDuration(500) 
        .clipVoronoi(false); 

      chart.xAxis.tickFormat(function (d) { 
       return d3.time.format('%m/%d/%y')(new Date(d)) 
      }); 

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

      d3.select('#nvd3_cumulativeLine svg').datum(cumulativeTestData()).call(chart); 

      nv.utils.windowResize(chart.update); 

      return chart; 
      }); 
     } 
    } 
} 

Функция .datum в представлении:

<script type="text/javascript"> 
    function cumulativeTestData() { 
     var closes = JSON.parse('@Html.Raw(Json.Encode(Model.Coordinates))') 
     return [ 
      { 
       key: "Closing Prices", 
       mean: 60, 
       values: closes 
      }, 
     ]; 
    } 
</script> 

HTML правильного JSON.parse:

var closes = JSON.parse('[[1367341200000,4.152],[1369933200000,4.148],[1375203600000,3.459],[1377882000000,3.567], etc.]') 

EDIT: Вот рабочий plunkr, который показывает y-значения данных b eing graphed в неправильных точках оси y: plnkr.co/edit/enR6tKQmpKWxroVHDVOQ?p=preview

+0

Вы могли бы предоставить скрипку или plunkr? –

+0

Спасибо, что ответили! Я начинал думать, что никто не будет. Я новичок в пользовательском интерфейсе, поэтому загрузил код в скрипку, но он, похоже, не работает: http://jsfiddle.net/4jt5wLum/ – jle

+0

Я сделал для вас рабочий plunkr: http: // plnkr.co/edit/enR6tKQmpKWxroVHDVOQ?p=preview, и я не настолько уверен, что хорошо понимаю вас. –

ответ

0

Возвращаясь, чтобы ответить на этот вопрос. Решение было очень глупым. Изменение графика из совокупной линейной диаграммы в регулярную линейную диаграмму правильно отображало значения y. Примеры доступных диаграмм nvd3 можно найти here.