G2Chart.vue 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <template>
  2. <div style="padding: 10px">
  3. <div id="container"></div>
  4. </div>
  5. </template>
  6. <script>
  7. import { Chart } from '@antv/g2'
  8. export default {
  9. name: 'G2Chart',
  10. data () {
  11. return {
  12. }
  13. },
  14. mounted: function () {
  15. this.drawChart() // 第一步想到的是创建的时候更新图表,但是这个不适用于异步请求接口获取相关数据,所以采用下面的监听的方式
  16. },
  17. beforeUpdate: function () {
  18. // this.drawChart();
  19. },
  20. watch: {
  21. },
  22. methods: {
  23. drawChart: function (datas) {
  24. const data = [
  25. { name: 'London', 月份: 'Jan.', 月均降雨量: 18.9 },
  26. { name: 'London', 月份: 'Feb.', 月均降雨量: 28.8 },
  27. { name: 'London', 月份: 'Mar.', 月均降雨量: 39.3 },
  28. { name: 'London', 月份: 'Apr.', 月均降雨量: 81.4 },
  29. { name: 'London', 月份: 'May', 月均降雨量: 47 },
  30. { name: 'London', 月份: 'Jun.', 月均降雨量: 20.3 },
  31. { name: 'London', 月份: 'Jul.', 月均降雨量: 24 },
  32. { name: 'London', 月份: 'Aug.', 月均降雨量: 35.6 },
  33. { name: 'Berlin', 月份: 'Jan.', 月均降雨量: 12.4 },
  34. { name: 'Berlin', 月份: 'Feb.', 月均降雨量: 23.2 },
  35. { name: 'Berlin', 月份: 'Mar.', 月均降雨量: 34.5 },
  36. { name: 'Berlin', 月份: 'Apr.', 月均降雨量: 99.7 },
  37. { name: 'Berlin', 月份: 'May', 月均降雨量: 52.6 },
  38. { name: 'Berlin', 月份: 'Jun.', 月均降雨量: 35.5 },
  39. { name: 'Berlin', 月份: 'Jul.', 月均降雨量: 37.4 },
  40. { name: 'Berlin', 月份: 'Aug.', 月均降雨量: 42.4 }
  41. ]
  42. const chart = new Chart({
  43. container: 'container',
  44. autoFit: true,
  45. height: 400
  46. })
  47. chart.data(data)
  48. chart.scale('月均降雨量', {
  49. nice: true
  50. })
  51. chart.tooltip({
  52. showMarkers: false,
  53. shared: true
  54. })
  55. chart
  56. .interval()
  57. .position('月份*月均降雨量')
  58. .color('name')
  59. .adjust([
  60. {
  61. type: 'dodge',
  62. marginRatio: 0
  63. }
  64. ])
  65. chart.interaction('active-region')
  66. chart.render()
  67. }
  68. }
  69. }
  70. </script>
  71. <style lang="less" scoped>
  72. </style>