修改echarts的tooltip样式 折线图如何配置阴影并实现渐变色和自适应

图片展示

一、引入echarts

这里不用多解释

vue里使用

import echarts from "echarts";

html页面引用js文件或用script标签引用

二、定义一个具有宽高的dom div

javascript 复制代码
   <div id="echart-broken" style="width:400px;height: 200px;"></div>

三、定义方法 代码如下

javascript 复制代码
// 折线图
    brokenInit(){
       var chart4 = echarts.init(document.getElementById('echart-broken'));
        chart4.setOption({
        tooltip: {
          trigger: 'axis',
          backgroundColor: 'transparent',
          axisPointer: { // 添加辅助线
          type: 'line',
          lineStyle: {
            color: '#4080FF', // 修改竖线颜色
            type: 'dashed', // 修改竖线样式为虚线
            width: 1.5
          },
        },
        formatter: function(params) {
          var datetime = params[0].axisValue;
          var datanum = params[0].data;
          var res = `<div style="width: 141px;height: 72px;background: linear-gradient(303deg, rgba(253,254,255,0.60) -3%, rgba(244,247,252,0.60) 83%);opacity: 1;box-shadow: 0px 10px 20px 0px rgba(167, 200, 255, 0.5),inset 0px -2px 12px 0px rgba(229, 237, 250, 0.5),inset 0px 2px 6px 0px rgba(229, 237, 250, 0.9);">
            <div style="padding-left: 6px;padding-top: 10px;">
              <span style="width: 33%;font-size: 12px;line-height: 20px;height: 20px;color:#1D2129;font-weight: 700;">${datetime}</span>
              <div style="width: 125px;height: 32px;border-radius: 4px;opacity: 1;background: rgba(255, 255, 255, 0.8);box-shadow: 6px 0px 20px 0px rgba(34, 87, 188, 0.1);display: flex;justify-content: space-evenly;align-items: center;">
                <span style="font-size: 12px;color: #4E5969;">专题图数量</span>
                <span style="font-size: 13px;color: #1D2129;font-weight: 700;font-style: italic;">${datanum}</span>
              </div>
            </div>
          </div>`;
          return res;
        }
        },
        xAxis: {
          type: 'category',
          boundaryGap: false, // 和0刻度线对齐方式
          data: this.brokenDate.map(item => item.name),
          axisLine: { // 修改X轴线的样式
             lineStyle: {
              color: '#E5E8EF' // 将x轴颜色改为浅灰色
            }
          },
          axisLabel: {
            color: '#86909C' // 设置x轴刻度上的数据颜色为黑色
          },
          axisTick: {
            show: false
          },
          splitLine: { // 设置分隔线样式
          show: true,
          lineStyle: {
            color: '#E5E8EF',
            type: 'dashed', // 修改竖线样式为虚线
          }
        },
        },
        yAxis: {
          type: 'value',
          axisLine: {
            lineStyle: {
              color: '#E5E8EF' // 将Y轴颜色改为浅灰色
            }
          },
          axisLabel: {
            color: '#86909C' // 设置Y轴刻度上的数据颜色为黑色
          },
          axisTick: {
            show: false
          },
          splitLine: { // 设置分隔线样式
          show: true,
          lineStyle: {
            type: 'dashed', // 改成虚线
            color: '#E5E8EF'
          }
        },
        },
        color: '#249AFF',
        series: [
          {
            data: this.brokenDate.map(item => item.value),
            type: 'line',
            smooth: true,
            lineStyle: { // 设置折线样式
              width: 3 // 设置折线宽度
            },
            symbol: 'none', // 去除小圆点
            areaStyle: {
            normal: {
              color: {
                x: 0,
                y: 0,
                x2: 0,
                y2: 1,
                colorStops: [
                {
                  offset: 0,
                  color: "rgba(17, 126, 255, 0.5)" // 0% 处的颜色,深一点
                },
                {
                  offset: 0.7,
                  color: "rgba(17, 128, 255, 0.1)" // 90% 处的颜色,浅一点
                },
                {
                  offset: 1,
                  color: "rgba(17, 128, 255, 0)" // 100% 处的颜色,完全透明
                }
              ],
                globalCoord: false // 默认为 false
              }
            }
          }
          }
        ]
      })
      // 自适应
        window.addEventListener("resize", () => {
        chart4.resize();
      })
    },

tooltip里的 模板字符串 dom结构 前端不方便调试效果图

可以先在dom里写好,调试好效果之后 在复制粘贴到 tooltip里的模板字符串

配置阴影和渐变色 在series里配置

normal: {

color: {

x: 0,

y: 0,

x2: 0,

y2: 1,

colorStops:[]

即可

具体代码在代码块里

相关推荐
拉不动的猪8 分钟前
前端小白之 CSS弹性布局基础使用规范案例讲解
前端·javascript·css
伍哥的传说13 分钟前
React强大且灵活hooks库——ahooks入门实践之开发调试类hook(dev)详解
前端·javascript·react.js·ecmascript·hooks·react-hooks·ahooks
界面开发小八哥43 分钟前
界面控件Kendo UI for Angular 2025 Q2新版亮点 - 增强跨设备的无缝体验
前端·ui·界面控件·kendo ui·angular.js
枷锁—sha2 小时前
从零掌握XML与DTD实体:原理、XXE漏洞攻防
xml·前端·网络·chrome·web安全·网络安全
F2E_Zhangmo2 小时前
基于cornerstone3D的dicom影像浏览器 第二章,初始化页面结构
前端·javascript·vue·cornerstone3d·cornerstonejs
代码的余温2 小时前
如何区别HTML和HTML5?
前端·html·html5
天下无贼!2 小时前
【样式效果】纯CSS从零到一实现动态彩色背景效果
前端·css
DoraBigHead2 小时前
手写 `new`、`call`、`apply`、`bind` + V8 函数调用机制解密
前端·javascript·面试
_pengliang2 小时前
css 音频波浪动画-小程序\PC可用
前端·css·小程序
ai小鬼头2 小时前
AIStarter教你快速打包GPT-SoVITS-v2,解锁AI应用市场新玩法
前端·后端·github