ChartLine 折线图
用于展示数据的折线图组件,支持多个系列数据、平滑曲线、面积填充等功能。
基础用法
基础的折线图用法。
多个系列
支持显示多个系列的数据,每个系列对应一条折线。
平滑曲线
通过 smooth 属性可以启用平滑曲线。
面积填充
通过 area-style 属性可以启用面积填充。
平滑曲线 + 面积填充
可以同时启用平滑曲线和面积填充。
自定义线条样式
通过 line-type 和 line-width 属性可以自定义线条样式。
自定义标记点
通过 show-symbol 和 symbol-size 属性可以自定义标记点。
隐藏图例
通过 show-legend 属性可以隐藏图例。
自定义图例位置
通过 legend-position 属性可以自定义图例位置。
显示数据标签
通过 show-label 属性可以显示数据标签。
隐藏网格
通过 show-grid 属性可以隐藏网格。
自定义网格样式
通过 grid-line-style 属性可以自定义网格样式。
自定义Y轴范围
通过 y-axis-min 和 y-axis-max 属性可以自定义Y轴范围。
X轴标签旋转
通过 x-axis 属性可以配置X轴标签旋转。
Y轴名称
通过 y-axis 属性可以配置Y轴名称。
自定义颜色
通过 colors 属性可以自定义颜色数组,也可以通过系列数据的 color 属性为每个系列单独设置颜色。
自定义网格边距
通过 grid 属性可以自定义网格边距。
完全自定义配置
通过 options 属性可以完全自定义 ECharts 配置项,传入后将以 options 为准,忽略其他属性。这允许你使用 ECharts 的所有功能。
注意:使用 options 时,需要参考 ECharts 折线图配置项文档 来配置所有选项。
API
Props
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| series | 系列数据数组 | ChartLineSeries[] | — | [{ name: '系列1', data: [100, 200, 300, 400, 500] }] |
| categories | X轴类别数据 | string[] | — | ['类别1', '类别2', '类别3', '类别4', '类别5'] |
| colors | 颜色数组 | string[] | — | ['rgba(66, 133, 244, 0.8)', ...] |
| showLegend | 是否显示图例 | boolean | — | true |
| legendPosition | 图例位置 | string | top / bottom / left / right | 'top' |
| height | 图表高度 | number | string | — | 400 |
| width | 图表宽度 | number | string | — | '100%' |
| backgroundColor | 背景颜色 | string | — | 'transparent' |
| showGrid | 是否显示网格 | boolean | — | true |
| gridLineStyle | 网格线样式 | GridLineStyle | — | { color: 'rgba(0, 0, 0, 0.1)', width: 1, type: 'dashed' } |
| showTooltip | 是否显示工具提示 | boolean | — | true |
| tooltipFormatter | 工具提示格式化函数 | (params: any) => string | — | undefined |
| showLabel | 是否显示数据标签 | boolean | — | false |
| yAxisMin | Y轴最小值 | number | — | undefined |
| yAxisMax | Y轴最大值 | number | — | undefined |
| yAxisSplitNumber | Y轴分割段数 | number | — | 5 |
| grid | 网格配置 | Grid | — | { left: '10%', right: '10%', top: '15%', bottom: '15%' } |
| xAxis | X轴配置 | XAxis | — | { show: true, axisLabel: { rotate: 0, interval: 'auto' } } |
| yAxis | Y轴配置 | YAxis | — | { show: true, name: '', nameLocation: 'end' } |
| options | 完全自定义的 ECharts 配置项,传入后将以 options 为准,忽略其他属性 | object 注意: options 的类型定义请参考 ECharts 折线图配置项文档 | — | undefined |
ChartLineSeries
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| name | 系列名称 | string | — | — |
| data | 数据数组 | number[] | — | — |
| color | 自定义颜色 | string | — | — |
| smooth | 是否平滑曲线 | boolean | — | false |
| areaStyle | 是否显示面积 | boolean | — | false |
| areaOpacity | 面积填充透明度(0-1) | number | — | 0.3 |
| lineWidth | 线条宽度 | number | — | 2 |
| lineType | 线条类型 | string | solid / dashed / dotted | 'solid' |
| showSymbol | 是否显示标记点 | boolean | — | true |
| symbolSize | 标记点大小 | number | — | 6 |
GridLineStyle
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| color | 网格线颜色 | string | — | 'rgba(0, 0, 0, 0.1)' |
| width | 网格线宽度 | number | — | 1 |
| type | 网格线类型 | string | solid / dashed / dotted | 'dashed' |
Grid
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| left | 左边距 | string | number | — | '10%' |
| right | 右边距 | string | number | — | '10%' |
| top | 上边距 | string | number | — | '15%' |
| bottom | 下边距 | string | number | — | '15%' |
XAxis
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| show | 是否显示X轴 | boolean | — | true |
| axisLabel | X轴标签配置 | AxisLabel | — | { rotate: 0, interval: 'auto' } |
AxisLabel
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| rotate | 标签旋转角度 | number | — | 0 |
| interval | 标签显示间隔 | number | 'auto' | — | 'auto' |
YAxis
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| show | 是否显示Y轴 | boolean | — | true |
| name | Y轴名称 | string | — | '' |
| nameLocation | 名称位置 | string | start / middle / end | 'end' |
| nameTextStyle | 名称文本样式 | NameTextStyle | — | { color: '#666', fontSize: 12 } |
NameTextStyle
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| color | 文本颜色 | string | — | '#666' |
| fontSize | 字体大小 | number | — | 12 |
注意事项
数据格式:
series数组中的每个对象代表一个系列,data数组的长度应该与categories数组的长度一致。颜色配置:可以通过
colors属性设置默认颜色数组,也可以通过系列数据的color属性为每个系列单独设置颜色。平滑曲线:启用平滑曲线后,折线会变成曲线,适合展示趋势数据。
面积填充:启用面积填充后,折线下方会填充颜色,适合展示数据范围。
标记点:默认显示标记点,可以通过
showSymbol: false隐藏,也可以通过symbolSize调整大小。