MiniArea.vue 946 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <template>
  2. <div class="antv-chart-mini">
  3. <div class="chart-wrapper" :style="{ height: 46 }">
  4. <v-chart :force-fit="true" :height="height" :data="data" :padding="[36, 0, 18, 0]">
  5. <v-tooltip />
  6. <v-smooth-area position="x*y" />
  7. </v-chart>
  8. </div>
  9. </div>
  10. </template>
  11. <script>
  12. import moment from 'moment'
  13. const data = []
  14. const beginDay = new Date().getTime()
  15. for (let i = 0; i < 10; i++) {
  16. data.push({
  17. x: moment(new Date(beginDay + 1000 * 60 * 60 * 24 * i)).format('YYYY-MM-DD'),
  18. y: Math.round(Math.random() * 10)
  19. })
  20. }
  21. const tooltip = [
  22. 'x*y',
  23. (x, y) => ({
  24. name: x,
  25. value: y
  26. })
  27. ]
  28. const scale = [{
  29. dataKey: 'x',
  30. min: 2
  31. }, {
  32. dataKey: 'y',
  33. title: '时间',
  34. min: 1,
  35. max: 22
  36. }]
  37. export default {
  38. name: 'MiniArea',
  39. data () {
  40. return {
  41. data,
  42. tooltip,
  43. scale,
  44. height: 100
  45. }
  46. }
  47. }
  48. </script>
  49. <style lang="less" scoped>
  50. @import "chart";
  51. </style>