echarts在react中的使用
本文的所有示例都可以在 react-admin(test:test)下查看体验
注意事项
- echarts 获取的 dom 结构必须要设置具体的高度或者宽度,这样 echarts 对应的 canvas 画布才有大小显示。
- echarts 的有效数值 必须是数值,这样才会显示正确的值,比如 y = 12(或者”12”) 而不能是”12s”这种,如果 y 轴需要带单位可以在 series 的 label 属性的 formater 进行配置单位显示。
- echarts 数据集如果不设置有效的映射,那么 echarts 将根据数据集对象的键顺序判断谁是 x 轴 谁是 y 轴。 如下面的例子: value 是第一个键,那么 echarts 就将其映射为 x 轴,name 对应的就会映射到 y 轴,根据 2,有效值的地方必须是数字,所以 echarts 将不会显示图像,需要将 value 和 name 这两个键的顺序交换。
1 |
|
- 实际开发时调节 echarts 时最好直接在 echarts 提供的示例中进行修改,这样效率较高。
- 对于开发中需要的配置项不清楚时,可在术语速查手册中根据图例快速找到配置项.
- echarts 的配置项众多,建议使用 ts 的类型提示,option 的类型是 echarts.EChartsCoreOption。
1 |
|
echarts 数据集
在实际开发过程中,echarts 的样式配置实际是很少变化的,变化较多的实际是其数据,为了将数据和配置较好的分离,使用 echarts 的 dataset 是较为合适的方案
实际开发过程中,个人觉得采用对象数组的数据源更为符合直觉,这里以一个二维的图进行举例
1 |
|
useEcharts 的封装
在 echarts 的使用过程中,发现每个组件在使用中都需要进行配置初始化、监听 resize 事件,在组件销毁时都要注销事件监听、在数据源发生变化时重新设置配置,因此将其选择封装为一个 hook,暴露 echarts 需要的 ref 即可。
1 |
|
使用
- 提供一个带有高度或者宽度的 html 标签 如 div
- 提供初始数据
- 提供配置
1 |
|
常见的配置
对于饼图而言 决定大小的是 series 对象下的 radius,与折线图和柱状图不同(当承载画布的大小确定的情况)
折线图 柱状图 距离画布的距离也就决定了图形的大小,是 option 下的 grid 中的 top left 等
1 |
|
- 图示在图出现的位置,是在图上还是图外,可以由 series 下的 label 确定
1 |
|
echarts在react中的使用
https://sunburst89757.github.io/2023/01/13/echarts/