前言
在现代数据可视化中,ECharts 提供了丰富的配置选项,使开发者能够根据需求灵活定制图表的外观和功能。通过配置 xAxis 和 yAxis,开发者可以精确控制坐标轴的类型、数据源以及显示样式,确保数据以最清晰的方式呈现。同时,grid 属性帮助调整图表的布局,使其在页面中呈现出理想的位置与大小。 dataZoom 功能则为用户提供了交互式的数据缩放体验,增强了图表的可操作性。此外,legend 的配置使得图例能够清晰地展示数据系列,颜色配置则为图表增添了视觉吸引力。这些组件和属性的结合,使得 ECharts 能够实现高度自定义的图表展示,满足各种数据展示需求。
xaxis
xAxis 是图表中的一个重要组件,通常用于表示横轴。下面是一些常见的 xAxis 属性: 1. type:指定 xAxis 的类型,常见的类型有 category(类别轴)、value(数值轴)、time(时间轴)等。 2. data:指定 xAxis 的数据源,即横轴显示的数据项。 3. min:指定 xAxis 的最小值。 4. max:指定 xAxis 的最大值。 5. interval:指定 xAxis 的刻度间隔。 6. axisLabel:指定 xAxis 的标签样式,包括文字颜色、字号、字体样式等。 7. axisLine:指定 xAxis 的轴线样式,包括线条颜色、宽度、是否显示等。 8. axisTick:指定 xAxis 的刻度样式,包括刻度线的长度、颜色等。 9. splitLine:指定 xAxis 的分隔线样式,包括线条颜色、类型、是否显示等。 10. axisPointer:指定 xAxis 上的指示器样式,用于显示当前鼠标所指向的数据项。 name 请注意,不同的图表库或框架可能会有不同的属性名称和设置方式,上述仅为一般常见属性的示例。具体的属性和用法请参考相应的文档或资源。
改变type 可以 实现 x,y 轴 改变方向
所有的
yAxis: [ { show: true, // 是否显示 Y轴 type: 'value', //('value''category''time''log') name: '降雨量(mm)', // 坐标轴名称 nameLocation: 'end', // 坐标轴名称显示位置。('start''middle''center''end') //nameTextStyle: {...}, // 坐标轴名称的文字样式。 //nameGap: 15, // 坐标轴名称与轴线之间的距离。 //nameRotate: 0, // 坐标轴名字旋转,角度值。 //inverse: false, // 是否是反向坐标轴。ECharts 3 中新加。 //scale: false, // 只在数值轴中(type: 'value')有效。是否是脱离 0 值比例。设置成 true 后坐标刻度不会强制包含零刻度。在双数值轴的散点图中比较有用。在设置 min 和 max 之后该配置项无效。 splitNumber: 5 , // 坐标轴的分割段数,需要注意的是这个分割段数只是个预估值,最后实际显示的段数会在这个基础上根据分割后坐标轴刻度显示的易读程度作调整。 minInterval: 0 , // 自动计算的坐标轴最小间隔大小。 //maxInterval //interval // 强制设置坐标轴分割间隔。 silent: false , // 坐标轴是否是静态无法交互。 position: "left", // 默认 grid 中的第一个 y 轴在 grid 的左侧('left'),第二个 y 轴视第一个 y 轴的位置放在另一侧。 //offset: 0, // Y 轴相对于默认位置的偏移,在相同的 position 上有多个 Y 轴的时候有用。 //gridIndex: 0 , // y 轴所在的 grid 的索引,默认位于第一个 grid。(一般用于多个Y轴时) //max: 5, // 设置最大值,不设置会自动计算 //min: 0, triggerEvent: false , // 坐标轴的标签是否响应和触发鼠标事件,默认不响应。 axisLine: { // 坐标轴刻度相关设置。 show: true , alignWithLabel: false ,// 类目轴中在 boundaryGap 为 true 的时候有效,可以保证刻度线和标签对齐。 interval: 'auto' , // 坐标轴刻度的显示间隔,在类目轴中有效。默认同 axisLabel.interval 一样。 inside: false , // 坐标轴刻度是否朝内,默认朝外。 length: 5 , // 坐标轴刻度的长度。 lineStyle: { // 刻度线的样式设置。 color: "#ccc", // 刻度线的颜色,默认取 axisTick.lineStyle.color。 width: 1 , type: 'solid' , // (实线:'solid',虚线:'dashed',星罗棋布的:'dotted') shadowColor: 'rgba(0, 0, 0, 0.5)', shadowBlur: 10, shadowOffsetX: 0 , shadowOffsetY: 0 , opacity: 1 } , } , // 坐标轴轴线相关设置。 axisTick: { //...(同上) } , //minorTick: {} , // 坐标轴次刻度线相关设置。注意:次刻度线无法在类目轴(type: 'category')中使用。 axisLabel: { // 坐标轴刻度标签的相关设置。 show: true , interval: 'auto' , inside: false , rotate: 0 , margin: 8 , //formatter ... , //showMinLabel ... , //showMaxLabel ... , //color ... , fontStyle: 'normal' , fontWeight: normal , fontFamily: 'sans-serif' , fontSize: 12 , //align ... , //verticalAlign ... , // 文字垂直对齐方式,默认自动。 //lineHeight ... , backgroundColor: 'transparent' , borderColor: 'transparent' , borderWidth: 0 , borderRadius: 0 , padding: 0 , shadowColor: 'transparent' , shadowBlur: 0 , shadowOffsetX: 0 , shadowOffsetY: 0 , //width ... , //height ... , textBorderColor: 'transparent' , textBorderWidth: 0 , textShadowColor: 'transparent' , textShadowBlur: 0 , textShadowOffsetX: 0 , textShadowOffsetY: 0 , rich: { //富文本样式 //... } , } , splitLine: { // 坐标轴在 grid 区域中的分隔线。 show: true , interval: 'auto' , lineStyle: { //... } , } , //minorSplitLine: {} , // 坐标轴在 grid 区域中的次分隔线。次分割线会对齐次刻度线 minorTick //splitArea: {} , // 坐标轴在 grid 区域中的分隔区域,默认不显示。 //data: [{}] , // 类目数据,在类目轴(type: 'category')中有效。 ... //axisPointer: {} , // zlevel: 0 , // Y 轴所有图形的 zlevel 值。 z: 0 , // Y 轴组件的所有图形的z值。控制图形的前后顺序。z值小的图形会被z值大的图形覆盖。z相比zlevel优先级更低,而且不会创建新的 Canvas。 } ]
value 使用值 不需要data category 类目 轴 需要和 data一样
grid
改变图标在dom元素的大小
改变大小和相关的位置
grid: { show: true, left: 0, top: 0, 显示刻度标签 containLabel: true },
dataZoom
toolbox: { feature: { // 可以对数据 进行缩放 dataZoom: {} }
dataZoom: [ { type: 'slider', // type: 'inside', // 滚轮 xAxisIndex: 0 }, { type: 'slider', // type: 'inside', // 滚轮 yAxisIndex: 0, start:0, end:50, // 这个单位为 % }, ],
legend
当data 里面有值 legend 可以 为空
color
给数组
有几个给几个
没有给的则使用【0】 的颜色
里面的小属性
高亮的样式:emphasis
在 serices里面配置 focus :在高亮图形时,是否淡出其它数据的图形已达到聚焦的效果。 none 不淡出其它图形,默认使用该配置 self 只聚焦(不淡出)当前高亮的数据的图形 series 聚焦当前高亮的数据所在的系列的所有图形 blurScope 需要和 focus 配合使用
boundaryGap: false, 不加时第一个点的数据默认不在y轴上,加上该属性时,显示在y轴上了