Advertisement
carlosbergen

Untitled

Jun 18th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.86 KB | None | 0 0
  1.  
  2. <style>
  3. body{
  4. background: #e2e2e2;
  5. }
  6. .chart-container{
  7. max-width: 700px;
  8. }
  9. .chart-options{
  10. text-align: center;
  11. padding-left: 90px;
  12. padding-bottom: 20px;
  13. padding-top: 20px;
  14. }
  15. .chart-options .update-chart{
  16. color: #8a8a8a;
  17. text-decoration: none;
  18. font-family: "Asul";
  19. display: inline-block;
  20. margin: 5px 5px;
  21. font-size: 14px;
  22. position:relative;
  23. padding-left: 34px;
  24. cursor: pointer;
  25. }
  26. .chart-options .update-chart.active{
  27. color: #000;
  28. }
  29. .chart-description{
  30. padding-top: 40px;
  31. padding-left: 85px;
  32. font-family: "Asul";
  33. text-align: center;
  34. }
  35. .color-code{
  36. display: inline-block;
  37. width: 30px;
  38. height: 15px;
  39. position: absolute;
  40. left: 0;
  41. top: 0px;
  42. }
  43. </style>
  44.  
  45. <div class="chart-container">
  46. <div class="chart-options">
  47. <div href="#" class="update-chart" data-target="todos"><span class="color-code" style="background: #f6303f;"></span>TODOS</div>
  48. <div href="#" class="update-chart active" data-target="directos-pef"><span class="color-code" style="background: #003851;"></span>CONGRESO DE LA UNIÓN</div>
  49. <div href="#" class="update-chart" data-target="conaculta"><span class="color-code" style="background: #c6bac8"></span>CONACULTA</div>
  50. <div href="#" class="update-chart" data-target="sep"><span class="color-code" style="background: #311025"></span>SEP</div><br>
  51. <div href="#" class="update-chart" data-target="estados-y-municipios"><span class="color-code" style="background: #893544"></span>ESTADOS Y MUNICIPIOS</div>
  52. <div href="#" class="update-chart" data-target="otros"><span class="color-code" style="background: #333333"></span>OTROS</div>
  53. <div href="#" class="update-chart" data-target="otros-beneficios"><span class="color-code" style="background: #f6303f"></span>PAGO DE SEDE Y FRANQUICIA</div>
  54. </div>
  55.  
  56. <canvas id="myChart"></canvas>
  57.  
  58. <div class="chart-description">
  59. TOTAL 2009-2018: MIL 689 MILLONES DE PESOS
  60. </div>
  61. </div>
  62.  
  63. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  64. <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js"></script>
  65.  
  66.  
  67. <script>
  68. var todos = {
  69. label: "TODOS",
  70. backgroundColor: '#f6303f',
  71. data: [7500000, 54000000, 401675500, 122032320, 275600000, 156258400, 187554000, 264557272, 146081109, 74230000],
  72. };
  73. var directosPef = {
  74. label: "CONGRESO DE LA UNIÓN",
  75. backgroundColor: '#003851',
  76. data: [0, 0, 100000000, 103000000, 103000000, 95000000, 127798000, 233850000, 92699996, 70000000],
  77. };
  78. var conaculta = {
  79. label: "CONACULTA",
  80. backgroundColor: '#c6bac8',
  81. data: [0, 0, 0, 0, 12000000, 41000000, 42000000, 0, 44000000],
  82. };
  83. var sep = {
  84. label: "SEP",
  85. backgroundColor: '#311025',
  86. data: [0, 22000000, 0, 0, 0, 0, 0, 0, 0, 0],
  87. };
  88. var estadosyMunicipios = {
  89. label: "ESTADOS Y MUNICIPIOS",
  90. backgroundColor: '#893544',
  91. data: [7500000, 30500000, 35490000, 19032320, 20600000, 18358400, 12300000, 25254400, 5650000, 2000000],
  92. };
  93. var otros = {
  94. label: "OTROS",
  95. backgroundColor: '#333333',
  96. data: [0, 1500000, 0, 0, 0, 100000, 3645000, 3452872, 1531113, 0],
  97. };
  98. var otrosBeneficios = {
  99. label: "PAGO DE SEDE Y FRANQUICIA",
  100. backgroundColor: '#f6303f',
  101. data: [0, 0, 266185500, 0, 140000000, 1800000, 1811000, 2000000, 2200000, 2230000],
  102. };
  103. var ctx = document.getElementById('myChart').getContext('2d');
  104. var chart = new Chart(ctx, {
  105. type: 'bar',
  106. data: {
  107. labels: ["2009", "2010", "2011", "2012", "2013", "2014", "2015", "2016", "2017", "2018"],
  108. datasets: [directosPef]
  109. },
  110. options: {
  111. legend: {
  112. display: false
  113. },
  114. tooltips: {
  115. titleFontFamily: "Roboto Mono",
  116. bodyFontFamily: "Roboto Mono",
  117. callbacks: {
  118. label: function(tooltipItem, data) {
  119. console.log(tooltipItem);
  120. var category = data.datasets[tooltipItem.datasetIndex].label;
  121. var value = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
  122. if(parseInt(value) >= 1000){
  123. return category + ' $' + value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  124. } else {
  125. return category + ' $' + value;
  126. }
  127. }
  128. } // end callbacks:
  129. },
  130. scales: {
  131. xAxes: [{
  132. stacked: true,
  133. gridLines: {
  134. color: "#f6303e",
  135. display:false
  136. },
  137. ticks: {
  138. fontFamily: "Roboto Mono",
  139. fontColor: "black"
  140. }
  141. }],
  142. yAxes: [{
  143. stacked: true,
  144. gridLines: {
  145. color: "#f6303e",
  146. display:false
  147. },
  148. ticks: {
  149. fontFamily: "Roboto Mono",
  150. fontColor: "black",
  151. beginAtZero: true,
  152. stacked: true,
  153. min: 0,
  154. max: 450000000,
  155. stepSize: 50000000,
  156. callback: function(value, index, values) {
  157. if(parseInt(value) >= 1000){
  158. return '$' + value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  159. } else {
  160. return '$' + value;
  161. }
  162. }
  163. }
  164. }]
  165. }
  166. }
  167. });
  168.  
  169. $('.update-chart').click(function(){
  170. $(this).toggleClass('active');
  171. chart.data.datasets = [];
  172. if($(this).attr("data-target")=="todos"){
  173. $('.update-chart').removeClass('active');
  174. $(this).toggleClass('active');
  175. console.log("hello");
  176. chart.data.datasets.push(todos)
  177. }else{
  178. $('.update-chart[data-target="todos"]').removeClass('active');
  179. $('.update-chart').each(function(){
  180. if($(this).hasClass('active')){
  181. switch($(this).attr("data-target")){
  182. case 'directos-pef':
  183. chart.data.datasets.push(directosPef);
  184. break;
  185. case 'conaculta':
  186. chart.data.datasets.push(conaculta);
  187. break;
  188. case 'sep':
  189. chart.data.datasets.push(sep);
  190. break;
  191. case 'estados-y-municipios':
  192. chart.data.datasets.push(estadosyMunicipios);
  193. break;
  194. case 'otros':
  195. chart.data.datasets.push(otros);
  196. break;
  197. case 'otros-beneficios':
  198. chart.data.datasets.push(otrosBeneficios);
  199. break;
  200. }
  201. }
  202. });
  203. }
  204. chart.update();
  205. });
  206. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement