chart_combination_normalized.html 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <html>
  2. <head>
  3. <link href="../css/c3.css" rel="stylesheet" type="text/css">
  4. </head>
  5. <body>
  6. <div id="chart"></div>
  7. <script src="https://d3js.org/d3.v5.min.js" charset="utf-8"></script>
  8. <script src="../js/c3.js"></script>
  9. <script>
  10. const colorScale = d3.scaleLinear()
  11. .domain([1, 5])
  12. .range(['#a6d96a', '#1a9850'])
  13. .interpolate(d3.interpolateHcl);
  14. const columns = [
  15. ['data1', 300, 200, 500, 400, 600, 500],
  16. ['data2', 200, 130, 90, 240, 130, 220],
  17. ['data3', 300, 200, 160, 400, 250, 250],
  18. ['data4', 200, 130, 90, 240, 130, 220],
  19. ['data5', 130, 120, 150, 140, 160, 150],
  20. ['data6', 2500, 7500, 2450, 5670, 4580, 6500],
  21. ];
  22. var chart = c3.generate({
  23. data: {
  24. columns: columns,
  25. type: 'bar',
  26. types: {
  27. data6: 'line'
  28. },
  29. axes: {
  30. data6: 'y2'
  31. },
  32. stack: {
  33. normalize: true
  34. },
  35. groups: [
  36. ['data1','data2','data3','data4', 'data5']
  37. ],
  38. colors: {
  39. data1: colorScale(0),
  40. data2: colorScale(1),
  41. data3: colorScale(2),
  42. data4: colorScale(3),
  43. data5: colorScale(4),
  44. data6: '#FF0000'
  45. }
  46. },
  47. bar: {
  48. space: 0,
  49. width: {
  50. ratio: 1
  51. }
  52. },
  53. axis: {
  54. x: {
  55. type: 'categorized'
  56. },
  57. y2: {
  58. show: true
  59. }
  60. }
  61. });
  62. </script>
  63. </body>
  64. </html>