大宇宇宇
发布于 2025-09-01 / 9 阅读
0
0

Echarts常用插件配置

Echarts常用插件(组件)配置是面试高频考点,主要分为内置核心组件扩展插件两类。

一、内置核心组件(必考)

Echarts内置组件是图表基础能力的关键,通过option配置,直接决定图表的交互、布局和数据展示。

1. title(标题组件)

  • 作用:定义图表主标题、副标题,快速说明图表主题。

  • 核心配置

    • text:主标题文本(如“2023年销量分析”);

    • subtext:副标题文本(如“单位:万件”);

    • left/top/right/bottom:定位(支持像素值、百分比,如left: 'center'居中);

    • textStyle:标题样式(颜色color、字体大小fontSize)。

  • 场景:任何图表顶部展示主题信息,如柱状图顶部显示“月度销售额对比”。

2. legend(图例组件)

  • 作用:展示不同系列(如“产品A”“产品B”)的标记和名称,点击可切换系列显示/隐藏。

  • 核心配置

    • data:图例数据数组(需与series中的name严格对应,如['产品A', '产品B']);

    • orient:布局方向('horizontal'水平,'vertical'垂直);

    • selectedMode:选择模式(true多选,false不可选,'single'单选);

    • left/top:定位(如top: 10距离顶部10px)。

  • 场景:折线图中有多条线(不同产品销量),图例用于筛选显示特定产品。

3. tooltip(提示框组件)

  • 作用:鼠标悬停或点击时,显示当前数据项的详细信息(如数值、类别)。

  • 核心配置

    • trigger:触发方式('item'数据项触发,如柱状图悬停柱子;'axis'坐标轴触发,如折线图悬停显示整条线数据);

    • formatter:内容格式化(支持字符串模板{b}(类目)、{c}(数值),或回调函数params => params.name + ': ' + params.value);

    • backgroundColor:背景色(如'#333')。

  • 场景:柱状图悬停在“Q1”柱子上,提示“Q1:120万”。

4. grid(直角坐标系网格)

  • 作用:控制直角坐标系(柱状图、折线图等)绘图区域的位置和大小,避免图表与标题/图例重叠。

  • 核心配置

    • left/top/right/bottom:距离容器边界的距离(支持像素值、百分比,如left: '10%'bottom: '15%');

    • containLabel:是否包含坐标轴标签(true防止标签溢出,默认false)。

  • 场景:调整柱状图在容器中的位置,留出底部空间给x轴标签(如长类别名称)。

5. xAxis/yAxis(坐标轴组件)

  • 作用:定义直角坐标系的x轴和y轴,类目轴(如“周一、周二”)或数值轴(如0-100)。

  • 核心配置

    • type:坐标轴类型('category'类目轴,需配data'value'数值轴,自动计算范围;'time'时间轴,'log'对数轴);

    • data:类目轴数据(如xAxis: { data: ['周一', '周二'] });

    • name:坐标轴名称(如yAxis: { name: '销量(万件)' });

    • axisLabel:标签配置(rotate旋转角度,避免重叠;formatter格式化,如数值单位转换)。

  • 场景:柱状图x轴为“产品类别”(类目轴),y轴为“销量”(数值轴)。

6. dataZoom(数据缩放组件)

  • 作用:用于大数据量图表的区域缩放(如100个数据点,拖动查看局部细节)。

  • 核心配置

    • type:缩放类型('slider'滑动条,可视化操作;'inside'内置,鼠标滚轮/拖动缩放);

    • xAxisIndex/yAxisIndex:作用的坐标轴索引(默认0,即第一个x轴);

    • start/end:初始数据窗口范围(百分比,如start: 0, end: 50默认显示前50%数据)。

  • 场景:折线图展示全年365天数据,用slider型dataZoom拖动查看某月数据。

7. toolbox(工具栏组件)

  • 作用:内置工具按钮(保存图片、数据视图、还原等),提升用户交互效率。

  • 核心配置

    • feature:具体工具配置(saveAsImage保存为图片;dataView数据视图(可编辑);restore还原;dataZoom缩放)。

    toolbox: {
      feature: {
        saveAsImage: {}, // 保存图片
        dataView: { readOnly: false }, // 数据视图(可编辑)
      }
    }
  • 场景:用户需要将图表保存为PNG,或直接查看/编辑原始数据。

8. series(系列列表组件)

  • 作用核心配置,定义图表类型(柱状图、折线图等)、数据和样式(一个图表可包含多个系列,如柱状图+折线图混合)。

  • 核心配置

    • type:图表类型('line'折线图,'bar'柱状图,'pie'饼图,'scatter'散点图);

    • name:系列名称(需与legend.data对应,如name: '产品A');

    • data:数据数组(如[10, 20, 30],或对象数组[{name: 'A', value: 10}]);

    • label:数据标签(show: true显示数值,position: 'top'标签位置);

    • itemStyle:图形样式(color颜色,borderRadius圆角)。

  • 场景:柱状图配置type: 'bar',数据data: [120, 200, 150],显示“产品A、B、C”的销量。

二、常用扩展插件(加分项)

扩展插件需额外引入JS文件(如echarts-gl.js),用于特殊图表场景,面试中提及可体现技术广度。

1. echarts-gl(3D图表插件)

  • 作用:绘制3D图表(3D柱状图、3D散点图、地球等),展示三维数据。

  • 核心配置

    • 引入:<script src="echarts-gl.js"></script>

    • series.type'bar3D'(3D柱状图)、'scatter3D'(3D散点图)、'globe'(地球);

    • grid3D:3D坐标系(boxWidth/boxHeight/boxDepth控制3D空间大小)。

  • 场景:展示“地区-产品-时间”三维销量数据,或3D地球展示全球分布。

2. echarts-liquidfill(水球图插件)

  • 作用:展示占比数据(如完成率、水位),通过水波动画直观呈现百分比。

  • 核心配置

    • 引入:<script src="echarts-liquidfill.js"></script>

    • series.type'liquidFill'

    • data:数据数组(数值0-1,如[0.6]表示60%);

    • radius:半径('50%'占容器一半);

    • color:水波颜色(如['#4992ff'])。

  • 场景:显示“项目完成率60%”“服务器内存使用率80%”。

3. echarts-wordcloud(词云插件)

  • 作用:展示文本数据,词频越高字体越大,用于关键词分析。

  • 核心配置

    • 引入:<script src="echarts-wordcloud.js"></script>

    • series.type'wordCloud'

    • data:数据数组([{name: 'Echarts', value: 100}, {name: 'Vue', value: 80}]);

    • shape:词云形状('circle'圆形,'cardioid'心形);

    • sizeRange:字体大小范围([12, 50])。

  • 场景:分析用户评论关键词,展示“产品”“服务”“物流”等词频。

面试总结

  • 重点:内置组件(seriestooltiplegenddataZoom)是必考点,需明确作用、核心配置(如series.typetooltip.triggerdataZoom.type)及场景。

  • 技巧:回答时结合具体图表类型(如“柱状图中用legend切换系列,tooltip显示数值”),体现配置与实际需求的关联。

  • 加分:提及扩展插件(如“echarts-liquidfill做水球图展示完成率”),展示对Echarts生态的了解。


评论