Вопрос

У меня есть этот код, чтобы создать линейный плюсbarchart

html

<div id="chart1" class='with-3d-shadow with-transitions'>
    <svg> </svg>
  </div>
.

Сценарии

<script src="../lib/d3.v3.js"></script>
<script src="../nv.d3.js"></script>
<script src="../src/models/linePlusBarChart.js"></script>
<script>
var time="1134345600000";
var quantity="12332212"

    var testdata = [
      {
        "key" : "Quantity" ,
        "bar": true,
        "values" : [ [ 1136005200000 , 1271000.0] ]
      }
    ].map(function(series) {
      series.values = series.values.map(function(d) { return {x: d[0], y: d[1] } });
      return series;
    });

testdata[0].values.push([time, quantity]);//NOT SHOWING THE BAR
    var chart;

    nv.addGraph(function() {
        chart = nv.models.linePlusBarChart()
            .margin({top: 30, right: 60, bottom: 50, left: 70})
            .x(function(d,i) { return i })
            .color(d3.scale.category10().range());

        chart.xAxis.tickFormat(function(d) {
          var dx = testdata[0].values[d] && testdata[0].values[d].x || 0;
          return dx ? d3.time.format('%x')(new Date(dx)) : '';
          })
          .showMaxMin(false);

        chart.y1Axis
            .tickFormat(d3.format(',f'));

        chart.y2Axis
            .tickFormat(function(d) { return '$' + d3.format(',.2f')(d) });

        chart.bars.forceY([0]).padData(false);
        //chart.lines.forceY([0]);

        d3.select('#chart1 svg')
            .datum(testdata)
          .transition().duration(500).call(chart);

        nv.utils.windowResize(chart.update);

        chart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });

        return chart;
    });

</script>
.

Теперь я хочу добавить некоторые переменные на график от JavaScript.Пусть скажу у меня две переменные генеракодицетагкод и генеракодицетагкод.Я хочу, чтобы некоторые были подтолкнуть эти две переменные в var time="1134345600000".

Есть возможный путь?

Demo (код JS после строки 23240)

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

Решение

В вашем конкретном случае необходимо нажать так, как это:

testdata[0].values.push({x: +time, y: +quantity});
.

Demo Здесь .

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