【vue echart】完成一个简单echart图表+自适应

实现效果:

html:

javascript 复制代码
<div
       ref="echartOne"
       id="echartOne"
       style="width: 100%; height: 100%"
></div>

js:

javascript 复制代码
    getEchartOne() {
      let chart = this.$echarts.init(this.$refs.echartOne);
      chart.setOption({
        title: {
          text: "Stacked Line"
        },
        tooltip: {
          trigger: "axis"
        },
        legend: {
          data: ["Email", "Union Ads", "Video Ads", "Direct", "Search Engine"]
        },
        grid: {
          left: "3%",
          right: "4%",
          bottom: "3%",
          containLabel: true
        },
        toolbox: {
          feature: {
            saveAsImage: {}
          }
        },
        xAxis: {
          type: "category",
          boundaryGap: false,
          data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
        },
        yAxis: {
          type: "value"
        },
        series: [
          {
            name: "Email",
            type: "line",
            stack: "Total",
            data: [120, 132, 101, 134, 90, 230, 210]
          },
          {
            name: "Union Ads",
            type: "line",
            stack: "Total",
            data: [220, 182, 191, 234, 290, 330, 310]
          },
          {
            name: "Video Ads",
            type: "line",
            stack: "Total",
            data: [150, 232, 201, 154, 190, 330, 410]
          },
          {
            name: "Direct",
            type: "line",
            stack: "Total",
            data: [320, 332, 301, 334, 390, 330, 320]
          },
          {
            name: "Search Engine",
            type: "line",
            stack: "Total",
            data: [820, 932, 901, 934, 1290, 1330, 1320]
          }
        ]
      });
//自适应部分
      window.addEventListener('resize', function () {
        chart.resize()     
})
    },

补充知识点:

更改标题,图例的颜色,x轴和y轴的颜色变为白色

javascript 复制代码
{
        title: {
          text: ""
        },
        tooltip: {
          trigger: "axis",
          axisPointer: {
            type: "shadow"
          }
        },
        legend: {
          textStyle: {
            fontSize: 12,
            color: "#FFFFFF"
          }
        },
        grid: {
          left: "3%",
          right: "4%",
          bottom: "3%",
          containLabel: true
        },
        xAxis: [
          {
            type: "category",
            boundaryGap: [0, 0.01],
            data: citylist,
            // axisLabel: {
            //     color: fontColor,
            //     color: '#FFFFFF',
            //   },
            axisLine: {
              show: true,
              lineStyle: {
                color: "#FFFFFF"
              }
            }
          }
        ],
        yAxis: {
          type: "value",
          axisLine: {
            show: false,
            lineStyle: {
              color: "white"
            }
          }
        },
        series: [
          {
            name: "产品个数/个",
            type: "bar",
            data: sumList,
            textStyle: {
              color: "#00FFFF"
            },
            itemStyle: {
              normal: {
                color: "#00FFFF"
              }
            }
          },
          {
            name: "溯源次数/次",
            type: "bar",
            data: numList,
            itemStyle: {
              normal: {
                color: "#FFFF00"
              }
            }
          }
        ]
      }
相关推荐
IT_陈寒28 分钟前
折腾一天才明白:Vite的热更新为什么偶尔会罢工
前端·人工智能·后端
AI茶水间管理员1 小时前
学习ClaudeCode源码之Agent核心循环
前端·人工智能·后端
挖稀泥的工人1 小时前
AI聊天界面的布局细节和打字跟随方法
前端·javascript·面试
竹林8181 小时前
从“连接失败”到丝滑登录:我用 ethers.js 连接 MetaMask 的完整踩坑记录
前端·javascript
颜酱2 小时前
图片大模型实践:可灵(Kling)文生图前后端实现
前端·javascript·人工智能
Reart2 小时前
从0解构tinyWeb项目--(Day:2)
javascript·后端·架构
木斯佳2 小时前
前端八股文面经大全:腾讯CSIG实习面(2026-04-10)·面经深度解析
前端·ai·xss·埋点·实习面经
孜孜不倦不忘初心2 小时前
Vue 项目结构与命名规范
vue.js·代码规范
夏暖冬凉2 小时前
npm发布流程(记录遇到的问题)
前端·npm·node.js
XPoet2 小时前
AI 编程工程化:Subagent——给你的 AI 员工打造协作助手
前端·后端·ai编程