0

我想用这段代码动态地创建地图(即不使用 var 1、var 2、var 3 等)我想动态地创建地图。

                var heatMaRiesgoInherente = dataSetRiesgoInherente.mapAs({ x: [4], y: [3], value: [0], heat: [0], fill: [1] });
                // Crea el stage con el elemento container
                var stage = acgraph.create("container");
                // helper function to setup same settings for all six charts
                var setupChartSettings = function (chart) {
                    chart.container(stage);
                    chart.padding([1, 10, 5, 10]).margin(0);
                    //chart.interactivity().selectionMode("none");
                    //Activo texto en los vectores
                    chart.xAxis(true);
                    //Color de Borde 
                    chart.stroke("#D8D8D8");
                    //D8D8D8
                    //E6E6E6
                    chart.xAxis().staggerMode(false);
                    //Texto en el vector Y
                    chart.yAxis().stroke('#4195EE').ticks().enabled(false);
                    //Texto en el vector X
                    // Quita los labels dentro de las cajas de texto
                    //chart.labelsDisplayMode('drop');
                    chart.labels().enabled(false);
                    // Aca habilito los Tooltip
                    chart.tooltip(true);
                    chart.tooltip().title().useHtml(true);
                      // Creates el mapa para el Riesgo Inherente
                var menChart = anychart.heatMap(heatMaRiesgoInherente);
                //Titulo
                menChart.title().text('Mapa de Calor de Riesgo Inherente');
                //Tamaños de los cuadros
                menChart.bounds(0, 0, "100%", "50%");
                //Asigna la configuracion
                setupChartSettings(menChart);
                menChart.draw();
4

2 回答 2

1

在这里,您可以了解如何从一个数据集创建多个热图:

  var data = anychart.data.set([
    ["Quarter 1",  'Mobile',  23,  28],
    ["Quarter 2",  'Mobile',  21,  26],
    ["Quarter 1",  'Desktop',  19,  26],
    ["Quarter 2",  'Desktop',  21,  27],
    ["Quarter 1",  'WebMail',  22,  28],
    ["Quarter 2",  'WebMail',  25,  27]
  ]);

stage = anychart.graphics.create("container");

var dataSet = data.mapAs({
  x: [0],
  y: [1],
  heat: [2]
});

var heatmap_1 = anychart.heatMap(dataSet);

  heatmap_1.container(stage);
  heatmap_1.bounds(0, 0, "100%", "50%");

heatmap_1.draw();

var dataSet = data.mapAs({
  x: [0],
  y: [1],
  heat: [3]
});

var heatmap_2 = anychart.heatMap(dataSet);
  heatmap_2.container(stage);
  heatmap_2.bounds(0, "50%", "100%", "50%");
    heatmap_2.draw();
});

http://jsfiddle.net/anycharts/g4ex62h0/

这个例子说明了如何创建热图矩阵,如您所见,使用这种方式或修改它,您可以创建必要数量的热图,您只需要优化循环,因为它很简单,仅用于说明重点:http: //jsfiddle.net/anycharts/txkkdwmx/

它说明了您可以传递一些参数并创建热图的想法,例如在循环中,在这还不够之前。此外,您可以在开始时定义大型数据集,然后将其映射到每个图表。

希望这可以帮助!

于 2017-01-24T06:33:59.027 回答
0

您可以轻松地从循环中的一个数据集创建多个图表,例如:

          var dataSet = data.mapAs({
            x: [0],
            y: [1],
            heat: [count]
          });
          count++;
          var chart = anychart.heatMap(dataSet);
          chart.container(stage);

您所需要的只是以适当的方式映射数据。看这个例子,它说明了这一点:http: //jsfiddle.net/g4ex62h0/1/

希望这可以帮助!

于 2017-02-07T17:26:19.237 回答