在React的应用中使用echarts画一个折线图
-
安装echarts:在项目根目录下执行以下命令。
npm install echarts --save -
在组件中引入echarts和相应的样式。
import React, { Component } from 'react'; import echarts from 'echarts'; import 'echarts/lib/chart/line'; import 'echarts/lib/component/tooltip'; import 'echarts/lib/component/title'; import 'echarts/lib/component/legend'; import 'echarts/lib/component/grid'; import 'echarts/lib/component/toolbox'; import 'echarts/lib/component/dataZoom'; import 'echarts/lib/component/markPoint'; import 'echarts/lib/component/markLine'; import 'echarts/lib/component/markArea'; import 'echarts/lib/component/visualMap'; import 'echarts/lib/component/axisPointer'; import 'echarts/lib/component/polar'; import 'echarts/lib/component/geo'; import 'echarts/lib/component/parallel'; import 'echarts/lib/component/singleAxis'; import 'echarts/lib/component/brush'; import 'echarts/lib/component/calendar'; import 'echarts/lib/component/graphic'; import 'echarts/lib/component/dataset'; import 'echarts/lib/component/calendar'; import 'echarts/lib/component/visualMapContinuous'; import 'echarts/lib/component/visualMapPiecewise'; import 'echarts/lib/component/tooltip/TooltipModel'; import 'echarts/lib/component/tooltip/TooltipView'; import 'echarts/lib/component/tooltip/TooltipContent'; import 'echarts/lib/component/tooltip/TooltipComponent'; import 'echarts/lib/component/legend/LegendModel'; import 'echarts/lib/component/legend/LegendView'; import 'echarts/lib/component/legend/LegendDraw'; import 'echarts/lib/component/legend/legendAction'; import 'echarts/lib/component/legend/legendFilter'; import 'echarts/lib/component/tooltip/tooltipTrigger'; import 'echarts/lib/component/tooltip/tooltipMarkup'; import 'echarts/lib/component/tooltip/tooltipFormatter'; import 'echarts/lib/component/axis/AxisModel'; import 'echarts/lib/component/axis/axisModelCreator'; import 'echarts/lib/component/axis/AxisView'; import 'echarts/lib/component/axis/axisBuilder'; import 'echarts/lib/component/axis/parallelAxisAction'; import 'echarts/lib/component/axis/parallelAxisCommon'; import 'echarts/lib/component/axis/parallelAxisHelper'; import 'echarts/lib/component/axis/parallelAxis'; import 'echarts/lib/component/axis/SingleAxisView'; import 'echarts/lib/component/axis/AxisBuilder'; import 'echarts/lib/component/axis/AxisView'; import 'echarts/lib/component/axis/axisPointerModelBuilder'; import 'echarts/lib/component/axis/AxisModel'; import 'echarts/lib/component/axis/AxisView'; import 'echarts/lib/component/axis/axisTrigger'; import 'echarts/lib/component/axis/CategoryAxisView'; import 'echarts/lib/component/axis/ValueAxisView'; import 'echarts/lib/component/axis/LogAxisView'; import 'echarts/lib/component/axis/TimeAxisView'; import 'echarts/lib/component/axis/TimeAxisModel'; import 'echarts/lib/component/axis/TimeAxis'; import 'echarts/lib/component/axis/axisLabelInterval'; import 'echarts/lib/component/axis/axisLabel'; import 'echarts/lib/component/axis/axisPointer'; import 'echarts/lib/component/axis/axisPointerViewHelper'; import 'echarts/lib/component/axis/axisPointerModelBuilder'; import 'echarts/lib/component/axis/axisPointerView'; import 'echarts/lib/component/axis/axisPointerTrigger'; import 'echarts/lib/component/axis/axisPointerCommon'; import 'echarts/lib/component/axis/axisPointerCartesian'; import 'echarts/lib/component/axis/axisPointerPolar'; import 'echarts/lib/component/axis/axisPointerRadiusAxis'; import 'echarts/lib/component/axis/axisPointerAngleAxis'; import 'echarts/lib/component/axisPointer/AxisPointerModel'; import 'echarts/lib/component/axisPointer/AxisPointerView'; import 'echarts/lib/component/axisPointer/axisPointerAction'; import 'echarts/lib/component/axisPointer/axisPointer'; import 'echarts/lib/component/axisPointer/axisPointerCtor'; import 'echarts/lib/component/grid/Simple'; import 'echarts/lib/component/grid/GridModel'; import 'echarts/lib/component/grid/GridView'; import 'echarts/lib/component/toolbox/ToolboxModel'; import 'echarts/lib/component/toolbox/ToolboxView'; import 'echarts/lib/component/toolbox/toolboxAction'; import 'echarts/lib/component/toolbox/featureManager'; import 'echarts/lib/component/toolbox/feature/SaveAsImage'; import 'echarts/lib/component/toolbox/feature/DataView'; import 'echarts/lib/component/toolbox/feature/DataZoom'; import 'echarts/lib/component/toolbox/feature/MagicType'; import 'echarts/lib/component/toolbox/feature/Restore'; import 'echarts/lib/component/toolbox/feature/Brush'; import 'echarts/lib/component/toolbox/feature/Feature'; import 'echarts/lib/component/dataZoom/DataZoomModel'; import 'echarts/lib/component/dataZoom/DataZoomView'; import 'echarts/lib/component/dataZoom/InsideZoomModel'; import 'echarts/lib/component/dataZoom/InsideZoomView'; import 'echarts/lib/component/dataZoom/SliderZoomModel'; import 'echarts/lib/component/dataZoom/SliderZoomView'; import 'echarts/lib/component/dataZoom/dataZoomProcessor'; import 'echarts/lib/component/dataZoom/dataZoomAction'; import 'echarts/lib/component/markPoint/MarkPointModel'; import 'echarts/lib/component/markPoint/MarkPointView'; import 'echarts/lib/component/markPoint/MarkPointAction'; import 'echarts/lib/component/markPoint/MarkPointDraw'; import 'echarts/lib/component/markPoint/MarkPointView'; import 'echarts/lib/component/markLine/MarkLineModel'; import 'echarts/lib/component/markLine/MarkLineView'; import 'echarts/lib/component/markLine/MarkLineAction'; import 'echarts/lib/component/markLine/MarkLineDraw'; import 'echarts/lib/component/markArea/MarkAreaView'; import 'echarts/lib/component/markArea/MarkAreaModel'; import 'echarts/lib/component/markArea/MarkAreaView'; import 'echarts/lib/component/markArea/MarkAreaDraw'; import 'echarts/lib/component/visualMap/VisualMapModel'; import 'echarts/lib/component/visualMap/VisualMapView'; import 'echarts/lib/component/visualMap/visualEncoding'; import 'echarts/lib/component/visualMap/visualMapAction'; import 'echarts/lib/component/visualMap/visualMapHelper'; import 'echarts/lib/component/axisPointer/AxisPointerModel'; import 'echarts/lib/component/axisPointer/AxisPointerView'; import 'echarts/lib/component/polar/PolarModel'; import 'echarts/lib/component/polar/PolarView'; import 'echarts/lib/component/polar/polarCreator'; import 'echarts/lib/component/polar/RadiusAxisView'; import 'echarts/lib/component/polar/AngleAxisView'; import 'echarts/lib/component/calendar/CalendarModel'; import 'echarts/lib/component/calendar/CalendarView'; import 'echarts/lib/component/calendar/calendarVisual'; import 'echarts/lib/component/calendar/calendarModelMixin'; import 'echarts/lib/component/brush/BrushModel'; import 'echarts/lib/component/brush/BrushView'; import 'echarts/lib/component/brush/brushAction'; import 'echarts/lib/component/brush/brushSelector'; import 'echarts/lib/component/brush/BrushController'; import 'echarts/lib/component/brush/BrushModelBuilder'; import 'echarts/lib/component/brush/brushSymbolCreator'; import 'echarts/lib/component/brush/brushCoverCreator'; import 'echarts/lib/component/brush/brushVisual'; import 'echarts/lib/component/brush/brushHelper'; import 'echarts/lib/component/graphic/GraphicModel'; import 'echarts/lib/component/graphic/GraphicView'; import 'echarts/lib/component/graphic/install'; import 'echarts/lib/component/graphic/patch'; import 'echarts/lib/component/graphic/Graphic'; import 'echarts/lib/component/dataset/SeriesDataset'; import 'echarts/lib/component/dataset/Source'; import 'echarts/lib/component/dataset/datasetModel'; import 'echarts/lib/component/dataset/datasetView'; import 'echarts/lib/component/parallel/ParallelModel'; import 'echarts/lib/component/parallel/ParallelView'; import 'echarts/lib/component/parallel/parallelCreator'; import 'echarts/lib/component/parallel/AxisParallel'; import 'echarts/lib/component/parallel/AxisParallelModel'; import 'echarts/lib/component/parallel/AxisParallelView'; import 'echarts/lib/component/parallel/Parallel'; import 'echarts/lib/component/parallel/parallelVisual'; import 'echarts/lib/component/parallel/parallelLayout'; import 'echarts/lib/component/parallel/parallelPreprocessor'; import 'echarts/lib/component/geo/GeoModel'; import 'echarts/lib/component/geo/GeoView'; import 'echarts/lib/component/geo/geoCreator'; import 'echarts/lib/component/geo/geoSourceManager'; import 'echarts/lib/component/geo/geoTypes'; import 'echarts/lib/component/singleAxis/SingleAxisModel'; import 'echarts/lib/component/singleAxis/SingleAxisView'; import 'echarts/lib/component/singleAxis/singleAxisCreator'; import 'echarts/lib/component/legend/legendFilter'; import 'echarts/lib/component/legend/legendAction'; import 'echarts/lib/component/legend/LegendModel'; import 'echarts/lib/component/legend/LegendView'; import 'echarts/lib/component/legend/legendVisual'; import 'echarts/lib/component/legend/legendHelper'; import 'echarts/lib/component/legend/install'; import 'echarts/lib/component/visualMapContinuous/install'; import 'echarts/lib/component/visualMapPiecewise/install'; import 'echarts/lib/component/tooltip/install'; import 'echarts/lib/component/title/install'; import 'echarts/lib/component/grid/install'; import 'echarts/lib/component/toolbox/install'; import 'echarts/lib/component/dataZoom/install'; import 'echarts/lib/component/markPoint/install'; import 'echarts/lib/component/markLine/install'; import 'echarts/lib/component/markArea/install'; import 'echarts/lib/component/visualMap/install'; import 'echarts/lib/component/axisPointer/install'; import 'echarts/lib/component/polar/install'; import 'echarts/lib/component/geo/install'; import 'echarts/lib/component/parallel/install'; import 'echarts/lib/component/singleAxis/install'; import 'echarts/lib/component/brush/install'; import 'echarts/lib/component/calendar/install'; import 'echarts/lib/component/graphic/install'; import 'echarts/lib/component/dataset/install'; import 'echarts/lib/component/legend/install'; import 'echarts/lib/component/tooltip/TooltipModel'; import 'echarts/lib/component/tooltip/TooltipView'; import 'echarts/lib/component/tooltip/TooltipContent'; import 'echarts/lib/component/tooltip/TooltipComponent'; import 'echarts/lib/component/tooltip/tooltipTrigger'; import 'echarts/lib/component/tooltip/tooltipMarkup'; import 'echarts/lib/component/tooltip/tooltipFormatter'; import 'echarts/lib/component/title/TitleModel'; import 'echarts/lib/component/title/TitleView'; import 'echarts/lib/component/title/install'; import 'echarts/lib/component/grid/Simple'; import 'echarts/lib/component/grid/GridModel'; import 'echarts/lib/component/grid/Grid'; import 'echarts/lib/component/grid/install'; import 'echarts/lib/component/toolbox/ToolboxModel'; import 'echarts/lib/component/toolbox/ToolboxView'; import 'echarts/lib/component/toolbox/toolboxAction'; import 'echarts/lib/component/toolbox/featureManager'; import 'echarts/lib/component/dataZoom/DataZoomModel'; import 'echarts/lib/component/dataZoom/DataZoomView'; import 'echarts/lib/component/dataZoom/InsideZoomModel'; import 'echarts/lib/component/dataZoom/InsideZoomView'; import 'echarts/lib/component/dataZoom/SliderZoomModel'; import 'echarts/lib/component/dataZoom/SliderZoomView'; import 'echarts/lib/component/dataZoom/dataZoomProcessor'; import 'echarts/lib/component/dataZoom/dataZoomAction'; import 'echarts/lib/component/markPoint/MarkPointModel'; import 'echarts/lib/component/markPoint/MarkPointView'; import 'echarts/lib/component/markPoint/MarkPointAction'; import 'echarts/lib/component/markPoint/MarkPointDraw'; import 'echarts/lib/component/markPoint/MarkPointView'; import 'echarts/lib/component/markLine/MarkLineModel'; import 'echarts/lib/component/markLine/MarkLineView'; import 'echarts/lib/component/markLine/MarkLineAction'; import 'echarts/lib/component/markLine/MarkLineDraw'; import 'echarts/lib/component/markArea/MarkAreaView'; import 'echarts/lib/component/markArea/MarkAreaModel'; import 'echarts/lib/component/markArea/MarkAreaView'; import 'echarts/lib/component/markArea/MarkAreaDraw'; import 'echarts/lib/component/visualMap/VisualMapModel'; import 'echarts/lib/component/visualMap/VisualMapView'; import 'echarts/lib/component/visualMap/visualEncoding'; import 'echarts/lib/component/visualMap/visualMapAction'; import 'echarts/lib/component/visualMap/visualMapHelper'; import 'echarts/lib/component/axisPointer/AxisPointerModel'; import 'echarts/lib/component/axisPointer/AxisPointerView'; import 'echarts/lib/component/polar/PolarModel'; import 'echarts/lib/component/polar/PolarView'; import 'echarts/lib/component/polar/polarCreator'; import 'echarts/lib/component/polar/RadiusAxisView'; import 'echarts/lib/component/polar/AngleAxisView'; import 'echarts/lib/component/calendar/CalendarModel'; import 'echarts/lib/component/calendar/CalendarView'; import 'echarts/lib/component/calendar/calendarVisual'; import 'echarts/lib/component/calendar/calendarModelMixin'; import 'echarts/lib/component/brush/BrushModel'; import 'echarts/lib/component/brush/BrushView'; import 'echarts/lib/component/brush/brushAction'; import 'echarts/lib/component/brush/brushSelector'; import 'echarts/lib/component/brush/BrushController'; import 'echarts/lib/component/brush/BrushModelBuilder'; import 'echarts/lib/component/brush/brushSymbolCreator'; import 'echarts/lib/component/brush/brushCoverCreator'; import 'echarts/lib/component/brush/brushVisual'; import 'echarts/lib/component/brush/brushHelper'; import 'echarts/lib/component/graphic/GraphicModel'; import 'echarts/lib/component/graphic/GraphicView'; import 'echarts/lib/component/graphic/install'; import 'echarts/lib/component/graphic/patch'; import 'echarts/lib/component/graphic/Graphic'; import 'echarts/lib/component/dataset/SeriesDataset'; import 'echarts/lib/component/dataset/Source'; import 'echarts/lib/component/dataset/datasetModel'; import 'echarts/lib/component/dataset/datasetView'; import 'echarts/lib/component/parallel/ParallelModel'; import 'echarts/lib/component/parallel/ParallelView'; import 'echarts/lib/component/parallel/parallelCreator'; import 'echarts/lib/component/parallel/AxisParallel'; import 'echarts/lib/component/parallel/AxisParallelModel'; import 'echarts/lib/component/parallel/AxisParallelView'; import 'echarts/lib/component/parallel/Parallel'; import 'echarts/lib/component/parallel/parallelVisual'; import 'echarts/lib/component/parallel/parallelLayout'; import 'echarts/lib/component/parallel/parallelPreprocessor'; import 'echarts/lib/component/geo/GeoModel'; import 'echarts/lib/component/geo/GeoView'; import 'echarts/lib/component/geo/geoCreator'; import 'echarts/lib/component/geo/geoSourceManager'; import 'echarts/lib/component/geo/geoTypes'; import 'echarts/lib/component/singleAxis/SingleAxisModel'; import 'echarts/lib/component/singleAxis/SingleAxisView'; import 'echarts/lib/component/singleAxis/singleAxisCreator'; import 'echarts/lib/component/legend/legendFilter'; import 'echarts/lib/component/legend/legendAction'; import 'echarts/lib/component/legend/LegendModel'; import 'echarts/lib/component/legend/LegendView'; import 'echarts/lib/component/legend/legendVisual'; import 'echarts/lib/component/legend/legendHelper'; import 'echarts/lib/component/legend/install'; import 'echarts/lib/component/visualMap/install'; -
在render函数中渲染一个div,用于放置echarts图表。
render() { return ( <div id="lineChart" style={{ width: '100%', height: '500px' }}></div> ); } -
在componentDidMount函数中初始化echarts图表。
componentDidMount() { // 基于准备好的dom,初始化echarts实例 const myChart = echarts.init(document.getElementById('lineChart')); // 定义图表的配置项和数据 const option = { title: { text: '折线图示例' }, tooltip: {}, legend: { data: ['销量'] }, xAxis: { data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'] }, yAxis: {}, series: [{ name: '销量', type: 'line', data: [5, 20, 36, 10, 10, 20, 30] }] }; // 使用刚指定的
原文地址: https://www.cveoy.top/t/topic/bdsY 著作权归作者所有。请勿转载和采集!