Advertisement
Guest User

Untitled

a guest
Jun 28th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.79 KB | None | 0 0
  1. var chart;
  2.  
  3. AmCharts.theme = AmCharts.themes.light;
  4.  
  5. AmCharts.ready(function () {
  6. // SERIAL CHART
  7. chart = new AmCharts.AmSerialChart();
  8. chart.dataProvider = generateChartData();
  9. chart.categoryField = "date";
  10. chart.marginRight = 0;
  11. chart.marginTop = 0;
  12. chart.autoMarginOffset = 0;
  13. chart.angle = 0;
  14. chart.dataDateFormat = "YYYY-MM-DD";
  15. chart.pathToImages = "https://www.amcharts.com/lib/images/";
  16. chart.fontFamily = "Helvetica";
  17. chart.fontSize = 14;
  18.  
  19. // AXES
  20. // category
  21. var categoryAxis = chart.categoryAxis;
  22. categoryAxis.labelRotation = 60;
  23. categoryAxis.gridPosition = "start";
  24. categoryAxis.dashLength = 1;
  25. categoryAxis.parseDates = true;
  26. categoryAxis.equalSpacing = false;
  27. categoryAxis.minorGridEnabled = true;
  28. // categoryAxis.dateFormats = [{period:'DD',format:'MM DD YYYY'}];
  29. categoryAxis.boldPeriodBeginning = true;
  30. categoryAxis.markPeriodChange = false;
  31.  
  32. // value
  33. var valueAxis = new AmCharts.ValueAxis();
  34. valueAxis.title;
  35. valueAxis.dashLength = 10;
  36. chart.addValueAxis(valueAxis);
  37.  
  38. // GRAPH
  39. var graphEnrolled = new AmCharts.AmGraph();
  40. graphEnrolled.valueField = "value";
  41. graphEnrolled.colorField = "color";
  42. graphEnrolled.balloonText = "[[category]]: [[value]]";
  43. graphEnrolled.type = "smoothedLine";
  44. graphEnrolled.lineAlpha = 2;
  45. graphEnrolled.fillAlphas = 0;
  46. chart.addGraph(graphEnrolled);
  47.  
  48. var scrollbar = new AmCharts.ChartScrollbar();
  49. scrollbar.scrollbarHeight = 5;
  50. chart.addChartScrollbar(scrollbar);
  51. scrollbar.graph = graphEnrolled;
  52.  
  53. var cursor = new AmCharts.ChartCursor();
  54. cursor.cursorPosition = "mouse";
  55. cursor.pan = true;
  56. cursor.valueLineEnabled = true;
  57. cursor.valueLineBalloonEnabled = true;
  58. chart.addChartCursor(cursor);
  59.  
  60. //var graphExpected = new AmCharts.AmGraph();
  61. //graphExpected.valueField = "value2";
  62. //graphExpected.colorField = "color";
  63. //graphExpected.balloonText = "[[category]]: [[value]]";
  64. //graphExpected.type = "smoothedLine";
  65. //graphExpected.lineAlpha = 2;
  66. //graphExpected.fillAlphas = 0;
  67. //chart.addGraph(graphExpected);
  68.  
  69. // WRITE
  70.  
  71. chart.exportConfig =
  72. {
  73. menuRight: '20px',
  74. menuBottom: '50px',
  75. menuItems: [{
  76. icon:'https://www.amcharts.com/lib/3/images/export.png',
  77. format: 'png'
  78. }]
  79. }
  80.  
  81. chart.write("chartdiv");
  82. });
  83.  
  84. function addRow() {
  85. jQuery('<div class="data-row"><input class="data-cell data-category" value="YYYY-MM-DD" type="date"/><input class="data-cell data-value" value="0" type="number" step="1"/><input class="data-cell data-value" value="0" type="number" step="1"/><input class="data-button delete-button" type="button" value="X"/></div>').appendTo('#data-table').each(function () {initRowEvents(jQuery(this));});
  86. }
  87.  
  88. function generateChartData() {
  89. var chartData = [];
  90. jQuery('.data-row').each(function () {
  91. var date = jQuery(this).find('.data-category').val();
  92. var value = jQuery(this).find('.data-value').val();
  93. //var value2 = jQuery(this).find('data-value').val();
  94. if (date != '') {
  95. chartData.push({
  96. date: date,
  97. value: value,
  98. //value: value2
  99.  
  100. });
  101. }
  102. });
  103. return chartData;
  104. }
  105.  
  106. function initRowEvents(scope) {
  107. scope.find('.data-cell')
  108. .attr('title', 'Click to edit')
  109. .on('keypress keyup change', function () {
  110. // re-generate chart data and reload it in chart
  111. chart.dataProvider = generateChartData();
  112. chart.validateData();
  113. }).end().find('.delete-button').click(function () {
  114. // remove the row
  115. $(this).parents('.data-row').remove();
  116.  
  117. // re-generate chart data and reload it in chart
  118. chart.dataProvider = generateChartData();
  119. chart.validateData();
  120. });
  121. }
  122.  
  123. jQuery(function () {
  124. // initialize the table
  125. initRowEvents(jQuery(document));
  126. });
  127.  
  128. chart.addListener("rendered", zoomChart);
  129.  
  130. zoomChart();
  131. function zoomChart(){
  132. //chart.zoomToIndexes(chart.dataProvider.length - 40, chart.dataProvider.length - 1);
  133. chart.zoomToIndexes(0, 20);
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement