Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (68826 Members, 786 Products, 5386 Topic, 13072 Comments)

Membuat Diagram Interaktif dengan HighCharts data dari MySQL

Dibuat
Login Terakhir 20 Hari lalu,
Telah Dilihat 2920 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 !!!

Online