waterChart.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <template>
  2. <div class="echart" id="mychart" :style="myChartStyle"></div>
  3. </template>
  4. <script>
  5. import * as echarts from "echarts";
  6. export default {
  7. data() {
  8. return {
  9. xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
  10. yData: [23, 24, 18, 25, 27, 28, 25], //人数数据
  11. taskDate: [10, 11, 9, 17, 14, 13, 14],
  12. myChartStyle: {
  13. float: "left",
  14. width: "100%",
  15. height: "279rem"
  16. } //图表样式
  17. };
  18. },
  19. mounted() {
  20. this.initEcharts();
  21. },
  22. methods: {
  23. initEcharts() {
  24. // 多列柱状图
  25. const mulColumnZZTData = {
  26. xAxis: {
  27. data: this.xData,
  28. },
  29. // 图例
  30. legend: {
  31. data: ["人数", "任务数"],
  32. top: "5%",
  33. textStyle: {
  34. color: '#ffffff' //字体颜色
  35. },
  36. },
  37. yAxis: {},
  38. series: [{
  39. type: "bar", //形状为柱状图
  40. data: this.yData,
  41. name: "人数", // legend属性
  42. label: {
  43. // 柱状图上方文本标签,默认展示数值信息
  44. show: false,
  45. position: "top"
  46. }
  47. },
  48. {
  49. type: "bar", //形状为柱状图
  50. data: this.taskDate,
  51. name: "任务数", // legend属性
  52. label: {
  53. // 柱状图上方文本标签,默认展示数值信息
  54. show: false,
  55. position: "top"
  56. }
  57. }
  58. ]
  59. };
  60. const myChart = echarts.init(document.getElementById("mychart"));
  61. myChart.setOption(mulColumnZZTData);
  62. //随着屏幕大小调节图表
  63. window.addEventListener("resize", () => {
  64. myChart.resize();
  65. });
  66. }
  67. }
  68. };
  69. </script>
  70. <style lang="scss" scoped>
  71. </style>