Динамическая кодовая матрица риска любой диаграммы

Я хотел бы с помощью этого кода создавать карты динамически (т.е. без использования 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();

person Diego Loaiza    schedule 17.01.2017    source источник
comment
Не могли бы вы уточнить ваш вопрос. Непонятно, что вы хотите делать динамически и с какими проблемами сталкиваетесь.   -  person AnyChart Support    schedule 24.01.2017


Ответы (2)


Здесь вы можете узнать, как создать диаграмму с несколькими тепловыми картами из одного набора данных:

  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/

Это иллюстрирует идею о том, что вы можете передать некоторый параметр и создать тепловые карты, например. в петле, раньше не хватит. Кроме того, вы можете определить большой набор данных в начале и просто сопоставить его для каждой диаграммы.

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

person AnyChart Support    schedule 24.01.2017
comment
Привет.. Да, я прекрасно понимаю, однако я не хочу создавать: Varheatmap_1 Varheatmap_2 Varheatmap_3 Varheatmap_n ... Я хочу динамически создавать эти var через цикл или итерацию, поясняю? - person Diego Loaiza; 02.02.2017

Вы можете легко создать несколько диаграмм из одного набора данных в цикле, например:

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

Все, что вам нужно — это отобразить данные соответствующим образом. Посмотрите этот пример, он иллюстрирует суть: http://jsfiddle.net/g4ex62h0/1/

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

person AnyChart Support    schedule 07.02.2017
comment
jsfiddle.net/g4ex62h0/2 У меня проблема, применяю тот же пример и продолжаю создавать проблемы , потому что рисует, т.е. рисует то же самое, что неправильно. Не могли бы вы прислать мне пример с этими данными, чтобы показать 4 разных графика? - person Diego Loaiza; 07.02.2017