javascript - Initialize AMCharts on Button Click Event -


i using amcharts stock chart displaying details. have below code draw amchart.

amcharts.ready(function () {                 generatechartdata();                 createstockchart();             });              var chartdata1 = [];             var chartdata2 = [];             var chartdata3 = [];             var chartdata4 = [];              function generatechartdata() {                 var firstdate = new date("2013-01-01");                 alert('1 :' + firstdate);                 firstdate.setdate(firstdate.getdate() - 1500);                 alert(firstdate);                 firstdate.sethours(0, 0, 0, 0);                  (var = 0; < 5; i++) {                     var newdate = new date(firstdate);                     newdate.setdate(newdate.getdate() + i);                      var a1 = math.round(math.random() * (40 + i)) + 100 + i;                     var b1 = math.round(math.random() * (1000 + i)) + 500 + * 2;                      var a2 = math.round(math.random() * (100 + i)) + 200 + i;                     var b2 = math.round(math.random() * (1000 + i)) + 600 + * 2;                      var a3 = math.round(math.random() * (100 + i)) + 200;                     var b3 = math.round(math.random() * (1000 + i)) + 600 + * 2;                      var a4 = math.round(math.random() * (100 + i)) + 200 + i;                     var b4 = math.round(math.random() * (100 + i)) + 600 + i;                      chartdata1.push({                         date: newdate,                         value: a1,                         volume: b1                     });                     chartdata2.push({                         date: newdate,                         value: a2,                         volume: b2                     });                     chartdata3.push({                         date: newdate,                         value: a3,                         volume: b3                     });                     chartdata4.push({                         date: newdate,                         value: a4,                         volume: b4                     });                 }             }              function createstockchart() {                 var chart = new amcharts.amstockchart();                  // datasets //////////////////////////////////////////                 // create data sets first                 var dataset1 = new amcharts.dataset();                 dataset1.title = "first data set";                 dataset1.fieldmappings = [{                     fromfield: "value",                     tofield: "value"                 }                 , {                     fromfield: "volume",                     tofield: "volume"                 }                 ];                 dataset1.dataprovider = chartdata1;                 dataset1.categoryfield = "date";                  var dataset2 = new amcharts.dataset();                 dataset2.title = "second data set";                 dataset2.fieldmappings = [{                     fromfield: "value",                     tofield: "value"                 }                 , {                     fromfield: "volume",                     tofield: "volume"                 }                 ];                 dataset2.dataprovider = chartdata2;                 dataset2.categoryfield = "date";                  var dataset3 = new amcharts.dataset();                 dataset3.title = "third data set";                 dataset3.fieldmappings = [{                     fromfield: "value",                     tofield: "value"                 }                 , {                     fromfield: "volume",                     tofield: "volume"                 }                 ];                 dataset3.dataprovider = chartdata3;                 dataset3.categoryfield = "date";                  var dataset4 = new amcharts.dataset();                 dataset4.title = "fourth data set";                 dataset4.fieldmappings = [{                     fromfield: "value",                     tofield: "value"                 }                 , {                     fromfield: "volume",                     tofield: "volume"                 }                 ];                 dataset4.dataprovider = chartdata4;                 dataset4.categoryfield = "date";                  // set data sets chart                 chart.datasets = [dataset1, dataset2, dataset3, dataset4];                  // panels ///////////////////////////////////////////                 // first stock panel                 var stockpanel1 = new amcharts.stockpanel();                 stockpanel1.showcategoryaxis = false;                 stockpanel1.title = "value";                 stockpanel1.percentheight = 70;                  // graph of first stock panel                 var graph1 = new amcharts.stockgraph();                 graph1.valuefield = "value";                 graph1.comparable = true;                 graph1.comparefield = "value";                 graph1.bullet = "round";                 graph1.bulletbordercolor = "#ffffff";                 graph1.bulletborderalpha = 1;                 graph1.balloontext = "[[title]]:<b>[[value]]</b>";                 graph1.comparegraphballoontext = "[[title]]:<b>[[value]]</b>";                 graph1.comparegraphbullet = "round";                 graph1.comparegraphbulletbordercolor = "#ffffff";                 graph1.comparegraphbulletborderalpha = 1;                 stockpanel1.addstockgraph(graph1);                  // create stock legend                 var stocklegend1 = new amcharts.stocklegend();                 stocklegend1.periodvaluetextcomparing = "[[percents.value.close]]%";                 stocklegend1.periodvaluetextregular = "[[value.close]]";                 stockpanel1.stocklegend = stocklegend1;                   // second stock panel                 var stockpanel2 = new amcharts.stockpanel();                 stockpanel2.title = "volume";                 stockpanel2.percentheight = 30;                 var graph2 = new amcharts.stockgraph();                 graph2.valuefield = "volume";                 graph2.type = "column";                 graph2.showballoon = false;                 graph2.fillalphas = 1;                 stockpanel2.addstockgraph(graph2);                  stockpanel1.addstockgraph(graph1);                  var stocklegend2 = new amcharts.stocklegend();                 stocklegend2.periodvaluetextregular = "[[value.close]]";                 stockpanel2.stocklegend = stocklegend2;                  // set panels chart                 chart.panels = [stockpanel1, stockpanel2];                   // other settings ////////////////////////////////////                 var sbsettings = new amcharts.chartscrollbarsettings();                 sbsettings.graph = graph1;                 sbsettings.updateonreleaseonly = false;                 chart.chartscrollbarsettings = sbsettings;                  // cursor                 var cursorsettings = new amcharts.chartcursorsettings();                 cursorsettings.valueballoonsenabled = true;                 chart.chartcursorsettings = cursorsettings;                   // period selector ///////////////////////////////////                 var periodselector = new amcharts.periodselector();                 periodselector.position = "right";                 periodselector.periods = [{                     period: "dd",                     count: 10,                     label: "10 days"                 }, {                     period: "mm",                     selected: true,                     count: 1,                     label: "1 month"                 }, {                     period: "yyyy",                     count: 1,                     label: "1 year"                 }, {                     period: "ytd",                     label: "ytd"                 }, {                     period: "max",                     label: "max"                 }];                 chart.periodselector = periodselector;                   // data set selector                 var datasetselector = new amcharts.datasetselector();                 datasetselector.position = "left";                 chart.datasetselector = datasetselector;                  chart.write('chartdiv');             } 

in page have 1 button , when user click on button amchart draw or loading details. how not possible.

from above code remove

amcharts.ready(function () {}); 

and remove "generatechartdata(); createstockchart();" function. simple button click function write below code.

<script>         function callamchart() {             var chartdata1 = [];             var chartdata2 = [];             var chartdata3 = [];             var chartdata4 = [];              var firstdate = new date();             firstdate.setdate(firstdate.getdate() - 1500);             firstdate.sethours(0, 0, 0, 0);              (var = 0; < 1500; i++) {                 var newdate = new date(firstdate);                 newdate.setdate(newdate.getdate() + i);                  var a1 = math.round(math.random() * (40 + i)) + 100 + i;                 var b1 = math.round(math.random() * (1000 + i)) + 500 + * 2;                  var a2 = math.round(math.random() * (100 + i)) + 200 + i;                 var b2 = math.round(math.random() * (1000 + i)) + 600 + * 2;                  var a3 = math.round(math.random() * (100 + i)) + 200;                 var b3 = math.round(math.random() * (1000 + i)) + 600 + * 2;                  var a4 = math.round(math.random() * (100 + i)) + 200 + i;                 var b4 = math.round(math.random() * (100 + i)) + 600 + i;                  chartdata1.push({                     date: newdate,                     value: a1,                     volume: b1                 });                 chartdata2.push({                     date: newdate,                     value: a2,                     volume: b2                 });                 chartdata3.push({                     date: newdate,                     value: a3,                     volume: b3                 });                 chartdata4.push({                     date: newdate,                     value: a4,                     volume: b4                 });             }               var chart = new amcharts.amstockchart();              // datasets //////////////////////////////////////////             // create data sets first             var dataset1 = new amcharts.dataset();             dataset1.title = "first data set";             dataset1.fieldmappings = [{                 fromfield: "value",                 tofield: "value"             }, {                 fromfield: "volume",                 tofield: "volume"             }];             dataset1.dataprovider = chartdata1;             dataset1.categoryfield = "date";              var dataset2 = new amcharts.dataset();             dataset2.title = "second data set";             dataset2.fieldmappings = [{                 fromfield: "value",                 tofield: "value"             }, {                 fromfield: "volume",                 tofield: "volume"             }];             dataset2.dataprovider = chartdata2;             dataset2.categoryfield = "date";              var dataset3 = new amcharts.dataset();             dataset3.title = "third data set";             dataset3.fieldmappings = [{                 fromfield: "value",                 tofield: "value"             }, {                 fromfield: "volume",                 tofield: "volume"             }];             dataset3.dataprovider = chartdata3;             dataset3.categoryfield = "date";              var dataset4 = new amcharts.dataset();             dataset4.title = "fourth data set";             dataset4.fieldmappings = [{                 fromfield: "value",                 tofield: "value"             }, {                 fromfield: "volume",                 tofield: "volume"             }];             dataset4.dataprovider = chartdata4;             dataset4.categoryfield = "date";              // set data sets chart             chart.datasets = [dataset1, dataset2, dataset3, dataset4];              // panels ///////////////////////////////////////////             // first stock panel             var stockpanel1 = new amcharts.stockpanel();             stockpanel1.showcategoryaxis = false;             stockpanel1.title = "value";             stockpanel1.percentheight = 70;              // graph of first stock panel             var graph1 = new amcharts.stockgraph();             graph1.valuefield = "value";             graph1.comparable = true;             graph1.comparefield = "value";             graph1.bullet = "round";             graph1.bulletbordercolor = "#ffffff";             graph1.bulletborderalpha = 1;             graph1.balloontext = "[[title]]:<b>[[value]]</b>";             graph1.comparegraphballoontext = "[[title]]:<b>[[value]]</b>";             graph1.comparegraphbullet = "round";             graph1.comparegraphbulletbordercolor = "#ffffff";             graph1.comparegraphbulletborderalpha = 1;             stockpanel1.addstockgraph(graph1);              // create stock legend             var stocklegend1 = new amcharts.stocklegend();             stocklegend1.periodvaluetextcomparing = "[[percents.value.close]]%";             stocklegend1.periodvaluetextregular = "[[value.close]]";             stockpanel1.stocklegend = stocklegend1;               // second stock panel             var stockpanel2 = new amcharts.stockpanel();             stockpanel2.title = "volume";             stockpanel2.percentheight = 30;             var graph2 = new amcharts.stockgraph();             graph2.valuefield = "volume";             graph2.type = "column";             graph2.showballoon = false;             graph2.fillalphas = 1;             stockpanel2.addstockgraph(graph2);              var stocklegend2 = new amcharts.stocklegend();             stocklegend2.periodvaluetextregular = "[[value.close]]";             stockpanel2.stocklegend = stocklegend2;              // set panels chart             chart.panels = [stockpanel1, stockpanel2];               // other settings ////////////////////////////////////             var sbsettings = new amcharts.chartscrollbarsettings();             sbsettings.graph = graph1;             sbsettings.updateonreleaseonly = false;             chart.chartscrollbarsettings = sbsettings;              // cursor             var cursorsettings = new amcharts.chartcursorsettings();             cursorsettings.valueballoonsenabled = true;             chart.chartcursorsettings = cursorsettings;               // period selector ///////////////////////////////////             var periodselector = new amcharts.periodselector();             periodselector.position = "left";             periodselector.periods = [{                 period: "dd",                 count: 10,                 label: "10 days"             }, {                 period: "mm",                 selected: true,                 count: 1,                 label: "1 month"             }, {                 period: "yyyy",                 count: 1,                 label: "1 year"             }, {                 period: "ytd",                 label: "ytd"             }, {                 period: "max",                 label: "max"             }];             chart.periodselector = periodselector;               // data set selector             //var datasetselector = new amcharts.datasetselector();             //datasetselector.position = "left";             //chart.datasetselector = datasetselector;              chart.write('chartdiv');         }     </script> 

:: html page ::

<input type="button" value="click" onclick="callamchart();" />     <div id="chartdiv" style="width: 100%; height: 600px; background: #fff;"></div> 

Comments

Popular posts from this blog

java - Static nested class instance -

c# - Bluetooth LE CanUpdate Characteristic property -

JavaScript - Replace variable from string in all occurrences -