首页编程开发ECharts【数据可视化(EChart...

【数据可视化(ECharts篇)】14.ECharts图表绘制——箱形图


本系列文章配套代码获取有以下两种途径:

  • 通过百度网盘获取:
链接:https://pan.baidu.com/s/1W26KrZK7RjwgxvulccTA9w?pwd=mnsj 提取码:mnsj
  • 前往GitHub获取
https://github.com/returu/Data_Visualization





箱形图是一种用作显示一组数据分散情况资料的统计图。它能显示出一组数据的最大值、最小值、中位数、下四分位数及上四分位数。

ECharts中绘制箱形图,只需要将series中的type设置为"boxplot"即可。

另外,series中的数据格式是二维数组,并且二维数组的每一个数据项(每行)用于渲染一个box,包含五个量值,分别对应箱型图中的最小值、下四分位数、中位数、上四分位数、最大值:

1[min,  Q1,  median (or Q2),  Q3,  max]

需要注意的是,ECharts 并不内置对原始数据的处理,输入给 boxplot 的数据须是如上五个统计结果量值。

箱型图中的异常值,需要通过添加数据系列的方式单独绘制一个散点图来完成。

代码如下所示:

 1    // 设置图表的参数
2    var option = {
3        title: {
4            text: "箱型图",
5            left:"center"
6        },
7
8        tooltip: {},
9
10        // legend: {},
11
12        xAxis: {
13            type: 'category',
14            data: ["类别1""类别2""类别3""类别4""类别5"]
15        },
16
17        yAxis: {
18            splitArea:{
19                show:true // y轴网格间通过阴影区分显示
20            }
21        },
22
23        // 数据系列
24        series: [{
25            name: "五个统计结果量值",
26            type: "boxplot",
27            data: [
28                [655, 850, 940, 980, 1175],
29                [672.5, 800, 845, 885, 1012.5],
30                [780, 840, 855, 880, 940],
31                [621.25, 767.5, 815, 865, 1011.25],
32                [713.75, 807.5, 810, 870, 963.75]
33            ],
34        }, {
35            name: "异常值",
36            type: "scatter",
37            data: [
38                [0, 650],
39                [2, 620],
40                [2, 720],
41                [2, 950],
42                [2, 970]
43            ]
44        }],
45    };

可视化结果如下图所示:

01

ECharts数据处理方式


ECharts中使用原始数据绘制箱型图时,一般依托于数据集(dataset)完成数据转换( data transform )功能来实现。数据转换属于更高一层的操作,后续会专门介绍。

另外,ECharts 也额外提供了简单的 原始数据处理函数,例如可以使用echarts.dataTool.prepareBoxplotData 来进行简单的数据统计。

需要注意的是,需要引入dataTool.js(可在Echarts官方仓库中下载),

1<script type="text/javascript" src="js/dataTool.js"></script>

否则会报如下错误:

1Uncaught TypeError: echarts.dataTool.prepareBoxplotData is not a function at ......
2

代码如下所示:

 1    // 通过echarts.dataTool.prepareBoxplotData()方法对原始数据进行预处理
2    var data = echarts.dataTool.prepareBoxplotData([
3        [8507409001070930850950980980880100098093065076081010001000960960],
4        [960940960940880800850880900840830790810880880830800790760800],
5        [880880880860720720620860970950880910850870840840850840840840],
6        [890810810820800770760740750760910920890860880720840850850780],
7        [890840780810760810790810820850870870810740810940950800810870]
8    ]);
9
10    // 设置图表的参数
11    var option = {
12        title: {
13            text: "箱型图",
14            left: "center"
15        },
16
17        tooltip: {},
18
19        // legend: {},
20
21        xAxis: {
22            type: 'category',
23            datadata.axisData, // 使用data处理后的axisData数据
24            axisLabel:{
25                formatter:"类别{value}" // x轴名称模板
26            }
27        },
28
29        yAxis: {
30            splitArea: {
31                show: true // y轴网格间通过阴影区分显示
32            }
33        },
34
35        // 数据系列
36        series: [{
37            name: "五个统计结果量值",
38            type: "boxplot",
39            data:data.boxData, // 使用data处理后的boxData数据
40        }, {
41            name: "异常值",
42            type: "scatter",
43            data:data.outliers // 使用data处理后的outliers数据
44        }],
45    };

可视化结果如下图所示:


更多参数和配置可以查看官方文档:

1https://echarts.apache.org/zh/option.html


本篇文章来源于微信公众号: 码农设计师

RELATED ARTICLES

欢迎留下您的宝贵建议

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular

Recent Comments