Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 KB | None | 0 0
  1. <template>
  2. <div>
  3. <input v-on:input="selected()" type="date" ref="dayPicked"/>
  4.  
  5.  
  6. <canvas ref="canvas" style="width: 100%; height: 1000em"></canvas>
  7. </div>
  8. </template>
  9.  
  10. <script>
  11. import Chart from 'chart.js'
  12. import numClicks from '../../data.json'
  13.  
  14. export default {
  15. data () {
  16. return {
  17. dataPoints: [],
  18. numOfClicks: []
  19. }
  20. },
  21. methods: {
  22. sorter: function () {
  23. numClicks.sort(function (a, b) {
  24. return (new Date(a[0]).getTime() - new Date(b[0]).getTime())
  25. })
  26. var dayTime = numClicks.map((daytime) => daytime[0])
  27. this.dataPoints = dayTime
  28. var click = numClicks.map((numClick) => numClick[1])
  29. this.numOfClicks = click
  30. },
  31. selected: function () {
  32. var datePart = this.$refs.dayPicked.value.match(/d+/g),
  33. year = datePart[0].substring(0,4), // (0,4) get 4 digits for year
  34. month = datePart[1], day = datePart[2];
  35. var day = month+'-'+day+'-'+year
  36. var allDays = numClicks.filter((dayPicked) => dayPicked[0].match(day))
  37. var dayTime = allDays.map((daytime) => daytime[0])
  38. this.dataPoints = dayTime
  39. var click = allDays.map((numClick) => numClick[1])
  40. this.numOfClicks = click
  41.  
  42.  
  43. let canvas = this.$refs.canvas
  44.  
  45. let chart = new Chart(canvas, {
  46. type: 'horizontalBar',
  47. data: {
  48. labels: this.dataPoints,
  49. datasets: [{
  50. label: '# of Votes',
  51. data: this.numOfClicks
  52. }]
  53. },
  54. options: {
  55. scales: {
  56. yAxes: [{
  57. ticks: {
  58. beginAtZero: true
  59. }
  60. }]
  61. }
  62. }
  63. })
  64. }
  65. },
  66. mounted() {
  67. this.sorter();
  68. let canvas = this.$refs.canvas
  69.  
  70. let chart = new Chart(canvas, {
  71. type: 'horizontalBar',
  72. data: {
  73. labels: this.dataPoints,
  74. datasets: [{
  75. label: '# of Votes',
  76. data: this.numOfClicks
  77. }]
  78. },
  79. options: {
  80. scales: {
  81. yAxes: [{
  82. ticks: {
  83. beginAtZero: true
  84. }
  85. }]
  86. }
  87. }
  88. })
  89. console.log(chart)
  90.  
  91. }
  92. }
  93. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement