Bar.vue 1023 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <template>
  2. <div :style="{ padding: '0 0 32px 32px' }">
  3. <h4 :style="{ marginBottom: '20px' }">{{ title }}</h4>
  4. <v-chart
  5. height="254"
  6. :data="data"
  7. :forceFit="true"
  8. :padding="['auto', 'auto', '40', '50']">
  9. <v-tooltip />
  10. <v-axis />
  11. <v-bar position="x*y"/>
  12. </v-chart>
  13. </div>
  14. </template>
  15. <script>
  16. export default {
  17. name: 'Bar',
  18. props: {
  19. title: {
  20. type: String,
  21. default: ''
  22. },
  23. data: {
  24. type: Array,
  25. default: () => {
  26. return []
  27. }
  28. },
  29. scale: {
  30. type: Array,
  31. default: () => {
  32. return [{
  33. dataKey: 'x',
  34. min: 2
  35. }, {
  36. dataKey: 'y',
  37. title: '时间',
  38. min: 1,
  39. max: 22
  40. }]
  41. }
  42. },
  43. tooltip: {
  44. type: Array,
  45. default: () => {
  46. return [
  47. 'x*y',
  48. (x, y) => ({
  49. name: x,
  50. value: y
  51. })
  52. ]
  53. }
  54. }
  55. },
  56. data () {
  57. return {
  58. }
  59. }
  60. }
  61. </script>