Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (67491 Members, 783 Products, 5291 Topic, 12956 Comments)

Membuat Diagram Interaktif dengan HighCharts data dari MySQL

Dibuat
Login Terakhir 5 Bulan lalu,
Telah Dilihat 2763 Kali
Yakobus sutejo Mengatakan : Sultan Account
  1. Assalamualaikum Warahmatullahi Wabarakatuh...
  2.  
  3. Bang Robby dan teman-teman semua..
  4. Saya sedang buat diagram interaktif dan kebetulan ada contoh script dibawah ini dan hasilnya terlampir.
  5.  
  6. <html><head>
  7. <title>
  8. Membandingkan Data menggunakan Highcharts Dengan Kolom Chart
  9. </title>
  10. </head><body>
  11. <style>
  12. .chart-filter{
  13. border-bottom: #CCC 1px solid;padding: 20px;}
  14. .btn-input {background: #1a75ff;color: #FFF;border: 0;padding: 8px 20px;border-radius: 4px;}
  15. .chart-item-title {padding:25px 0px;}
  16. .chart-item-option {margin-left: 20px;}
  17. </style>
  18. <div class="chart-filter">
  19. <div class="chart-item-title">
  20. <input type="checkbox" name="countries" value="Anggrek" checked /> Anggrek
  21. <input type="checkbox" name="countries" value="Bougenvile" class="chart-item-option" checked /> Bougenvile
  22. <input type="checkbox" name="countries" value="Cempaka" class="chart-item-option"/> Cempaka
  23. <input type="checkbox" name="countries" value="Dahlia" class="chart-item-option" /> Dahlia
  24. <input type="checkbox" name="countries" value="Flamboyan" class="chart-item-option"/> Flamboyan
  25. <input type="checkbox" name="countries" value="Gardenia" class="chart-item-option"/> Gardenia
  26. </div>
  27. <input type="button" id="compare" value="Lihat Data" class="btn-input" />
  28. </div>
  29. <div id="chart"></div>
  30. </body>
  31. </html>
  32. <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  33. <script src="https://code.highcharts.com/highcharts.js"></script>
  34. <script>
  35. $(function () {
  36. $(document).ready(function() {
  37. //Pilihan Default
  38. var options = {
  39.  
  40. chart: {
  41. renderTo: 'chart',
  42. type: 'line',
  43. height: 500,
  44. width:850
  45. },
  46. title: {
  47. text: 'Contoh Grafik untuk Benchmarking '
  48. },
  49. xAxis: {
  50. categories: ['JAN', 'FEB', 'MAR', 'APR', 'MEI', 'JUN','JUL', 'AGT', 'SEP', 'OKT', 'NOV', 'DES' ],
  51. title: { text: 'BULAN' }
  52. },
  53. yAxis: {
  54. allowDecimals: true,
  55. max: 100,
  56. min: 0,
  57. title: {
  58. text: 'CAPAIAN ( % )',
  59. align: 'middle'
  60. }
  61. },
  62. plotOptions: {
  63. line: {
  64. dataLabels: {
  65. enabled: true
  66. }
  67. }
  68. },
  69. series: [{},{},{},{},{},{}]
  70. };
  71. // Pada event klik untuk membandingkan data
  72. $("#compare").on("click",function(){
  73. var countries = ["Anggrek","Bougenvile","Cempaka","Dahlia","Flamboyan","Gardenia"];
  74. var data = [[45,50,54,45,50,54,80,23,15,34,90,84],
  75. [41,76,92,34,45,50,31,55,45,20,35,54],
  76. [80,73,45,76,92,45,50,54,55,45,50,54],
  77. [90,83,75,76,92,45,90,94,55,65,85,95],
  78. [45,66,97,65,85,90,54,75,74,80,75,54],
  79. [70,73,75,76,72,75,70,78,75,75,70,74]];
  80. var color = ["#10c0d2","#f1e019","#ff3333","#ccc0d0","#000","#336600"];
  81. var selected_countries,j;
  82.  
  83. // Hapus data sebelumnya dan reset data yang series
  84. for (i=0;i<data.length;i++) {
  85. options.series[i].name = "";
  86. options.series[i].data = "";
  87. options.series[i].color = "";
  88. }
  89.  
  90. // Data Intializeseries berdasarkan negara yang dipilih
  91. var i = 0;
  92. $("input[name='countries']:checked").each(function() {
  93. selected_countries = $(this).val();
  94. j = jQuery.inArray(selected_countries,countries)
  95. if(j >= 0){
  96. options.series[i].name = countries[j];
  97. options.series[i].data = data[j];
  98. options.series[i].color = color[j];
  99. i++;
  100. }
  101.  
  102. });
  103.  
  104. // Menggambar grafik dengan pilihan
  105. var chart = new Highcharts.Chart(options);
  106.  
  107. // legenda layar hanya untuk data terlihat.
  108. var item;
  109. for (k=i;k<=data.length;k++) {
  110. item= chart.series[k];
  111. if(item) {
  112. item.options.showInLegend = false;
  113. item.legendItem = null;
  114. chart.legend.destroyItem(item);
  115. chart.legend.render();
  116. }
  117. }
  118.  
  119. });
  120.  
  121. });
  122. });
  123.  
  124. </script>
  125.  
  126. Data akan saya ambil dari data mysql.
  127. Dimana saya harus meletakkan script SELECT nya SQL ya..
  128.  
  129. Terima kasih atas bantuannya.
Ada 1 File Kiriman :
1. chart.png (202 KB)

Ada 2 Jawaban

Bukhori Muslim
commented on 09 Sep 2018 07:01:39
  1. Assalam,.. Assalam gan ini di Highcharts pake grafik yang mana ya : https://www.highcharts.com/demo
  2. agar bisa kita cobakan juga disini, karena printscreen yang dilampirkan di atas tidak bisa di download/buka,. ^_^
Yakobus sutejo
commented on 09 Sep 2018 09:05:17
  1. Assalam,..
  2.  
  3. Terima kasih respon cepatnya
  4. File gambar sudah saya update dan itu hasil ouput dari script di atas
Maaf, Untuk Memberikan Komentar Anda Harus Login !!!