ECharts数据可视化

这篇具有很好参考价值的文章主要介绍了ECharts数据可视化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

第一章 什么是ECharts

第二章 搭建环境 

2.1 Echarts的下载

2.2 Visual Studio Code下载

第三章 一个简单的可视化展示

第四章 Echarts组件

4.1 标题

4.2 提示框

4.3 工具栏

4.4 图例

4.5 时间轴

4.6 数据区域缩放

4.6.1 滑动条型数据区域缩放

4.6.2 内置型数据区域缩放 

  4.6.3 框选型数据区域缩放

4.7 网格

4.8 坐标轴

4.9 数据系列

4.10 全局字体样式

第五章 可视化图

5.1 折线图

5.2 柱状图

5.3 饼图

5.4 散点图

5.5 气泡图

5.6 雷达图

5.7 漏斗图

5.8 仪表盘

5.9 箱线图

5.10 热力图

5.11 旭日图

5.12 桑基图

5.13 词云图

5.14 树图

5.15 矩形树图

5.16 关系图


 文章来源地址https://www.toymoban.com/news/detail-498731.html

第一章 什么是ECharts

        ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

        ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。

第二章 搭建环境 

2.1 Echarts的下载

https://github.com/apache/echarts

2.2 Visual Studio Code下载

Visual Studio Code - Code Editing. Redefined

代码的编写建议使用vscode。

安装完毕后下载插件open in brower

第三章 一个简单的可视化展示

现在需要你将小学各年级的人数以图表形式展示,数据如下:

一年级 二年级 三年级 四年级 五年级 六年级
300 310 320 290 310 327

 

demo.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        var option = {
            title: {
                text: '小学各年级人数表'
            },
            tooltip:{},
            legend: {
                data:['']
            },
            xAxis: {
                data:["一年级","二年级","三年级","四年级","五年级","六年级"]
            },
            yAxis: {},
            series: [{
                name: '销量',
                type: 'bar',
                data: [300,310,320,290,310,327]
            }]
        }
        myChart.setOption(option);
    </script>
</body>
</html>

ECharts数据可视化

 echarts.js是Echarts的js文件,需要与demo.html文件位于同一文件夹下。

第四章 Echarts组件

组件的属性具体参考官网。

4.1 标题

标题称为title,属性如下:

text//主标题
subtext//副标题
left//与容器左侧的距离 10 10% left center right
show//是否显示标题组件,默认为true
title: {
   text: '小学各年级人数表',
   subtext: '这是副标题',
   left: 'center'
},

 ECharts数据可视化

4.2 提示框

提示框被称作tooltip,属性如下:

trigger//触发类型,可选的参数有item(图形触发)、axis(坐标轴触发)、none(不触发)。
formatter//提示框浮层内容格式器,一般使用字符串模板,模板变量有{a},{b},{c},{d},{e},分别表示系列名、数据名、数据值等。
axisPointer//坐标轴指示器配置项,type是该参数的子参数,作用为设置指示器类型,取值可选line(直线指示器),shadow(阴影指示器),cross(十字准星指示器),none(无指示器)。
show//是否显示提示框组件,取值为布尔型数据,默认为true。
tooltip:{
   trigger: 'axis',
   axisPointer: {
       type: 'shadow'
   }
},

ECharts数据可视化

 

4.3 工具栏

工具栏被称作toolbox,属性如下:

show//是否显示工具栏组件,取值为布尔型数据,默认为true。
feature//各工具配置项,其中包含很多常用的子参数,例如saveAsImage、restore、dataView、magicType等。其中,saveAsImage是将可视化结果保存在本地,restore是将可视化还原到初始的设置,dataView可以看到可视化的底层数据视图,magicType则可以将一种可视化转为另一种可视化。
toolbox: {
    show: true,
    feature: {
            dataView: {
            show: true,
            readOnly: false
        },
        magicType: {
            show: true,
            type: ['line','bar']
        },
        restore: {
            show: true
        },
        saveAsImage: {
            show: true
        }
    }
},

ECharts数据可视化 

 

4.4 图例

图例被称作legend,用于区分不同的数据展示,属性如下:

show//是否显示图例组件,取值为布尔型数据,默认为true。
left//与容器左侧的距离,其取值可以是具体像素值,例如10;也可以是相对于容器的百分比值,例如10%;还可以是更常用的left、center、right,可以理解为左对齐、居中、右对齐。
top//与容器顶部的距离,其取值可以是具体像素值,例如10;也可以是相对于容器的百分比值,例如10%;还可以是更常用的top、middle、bottom,可以理解为处于顶部、处于中部、处于底部。
orient//图例列表的布局朝向,默认是horizontal(水平的),也可以是vertical(竖直的)。
data//图例中的数据数组,通常与数据展示的系列一一对应,具体使用方法可参见下面的例子。
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        var option = {
            title: {
                text: '小学各年级人数表',
                subtext: '这是副标题',
                left: 'center'
            },
            tooltip:{
                trigger: 'axis',
                axisPointer: {
                    type: 'shadow'
                }
            },
            toolbox: {
                show: true,
                feature: {
                        dataView: {
                        show: true,
                        readOnly: false
                    },
                    magicType: {
                        show: true,
                        type: ['line','bar']
                    },
                    restore: {
                        show: true
                    },
                    saveAsImage: {
                        show: true
                    }
                }
            },
            legend: {
                data:['总人数','男生人数'],
                left: 'left'
            },
            xAxis: {
                data:["一年级","二年级","三年级","四年级","五年级","六年级"]
            },
            yAxis: {},
            series: [{
                name: '总人数',
                type: 'bar',
                data: [300,310,320,290,310,327]
            },
            {
                name: '男生人数',
                type: 'bar',
                data: [200,230,210,190,209,200]
            }
            ]
        }
        myChart.setOption(option);
    </script>
</body>
</html>

ECharts数据可视化 

 

4.5 时间轴

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        var option = {
            baseOption: {
                timeline: {
                    data: ['2018','2019','2020','2021','2022','2023']
                },
                title: {
                    text: '小学各年级人数表',
                    subtext: '这是副标题',
                    left: 'center'
                },
                tooltip:{
                    trigger: 'axis',
                    axisPointer: {
                        type: 'shadow'
                    }
                },
                toolbox: {
                    show: true,
                    feature: {
                            dataView: {
                            show: true,
                            readOnly: false
                        },
                        magicType: {
                            show: true,
                            type: ['line','bar']
                        },
                        restore: {
                            show: true
                        },
                        saveAsImage: {
                            show: true
                        }
                    }
                },
                xAxis: [{
                    'type': 'category',
                    'data': ['男','女']
                }],
                yAxis: [{
                    'type': 'value'
                }],
                series: [{
                    type: 'bar',
                }] ,
            },
            options: [
                    {
                        title:{
                            text: '一年级男女人数'
                        },
                        series: [{data:[200,100]}]
                    },
                    {
                        title:{
                            text: '二年级男女人数'
                        },
                        series: [{data:[230,80]}]
                    },
                    {
                        title:{
                            text: '三年级男女人数'
                        },
                        series: [{data:[210,110]}]
                    },
                    {
                        title:{
                            text: '四年级男女人数'
                        },
                        series: [{data:[190,100]}]
                    },
                    {
                        title:{
                            text: '五年级男女人数'
                        },
                        series: [{data:[209,101]}]
                    },
                    {
                        title:{
                            text: '六年级男女人数'
                        },
                        series: [{data:[200,127]}]
                    }
                ]
        }
        myChart.setOption(option);
    </script>
</body>

ECharts数据可视化 

 

 

4.6 数据区域缩放

4.6.1 滑动条型数据区域缩放

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        option = {
            dataZoom: [
                {
                    id: 'dataZoomX',
                    type: 'slider',
                    xAxisIndex: [0],
                    filterMode: 'filter'
                },
                {
                    id: 'dataZoomY',
                    type: 'slider',
                    yAxisIndex: [0],
                    filterMode: 'empty'
                }
            ],
            xAxis: {type: 'value'},
            yAxis: {type: 'value'},
            series:{
                type: 'bar',
                data: [
                    [10, 30],
                    [20, 50],
                    [5, 20],
                    [15,45],
                    [2, 10]
                ]
            }
        }
        myChart.setOption(option);
    </script>
</body>

ECharts数据可视化

4.6.2 内置型数据区域缩放 

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        var option = {
            dataZoom: [
                {
                    id: 'dataZoomX',
                    type: 'inside',
                    xAxisIndex: [0],
                    filterMode: 'inside'
                },
                {
                    id: 'dataZoomY',
                    type: 'inside',
                    yAxisIndex: [0],
                    filterMode: 'empty'
                }
            ],
            xAxis: {type: 'value'},
            yAxis: {type: 'value'},
            series:{
                type: 'bar',
                data: [
                    [10, 30],
                    [20, 50],
                    [5, 20],
                    [15,45],
                    [2, 10]
                ]
            }
        }
        myChart.setOption(option);
    </script>
</body>

ECharts数据可视化 

  4.6.3 框选型数据区域缩放

toolbox: {
  show: true,
  feature: {
      dataView: {
      show: true,
      readOnly: false
  },
  magicType: {
    show: true,
    type: ['line','bar']
  },
  restore: {
    show: true
  },
  saveAsImage: {
    show: true
  },
  dataZoom: {
    show: true
  }
}
},

 ECharts数据可视化

4.7 网格

网格被称作grid。

grid: [
    {x: '17%', y: '30%', width: '50%', height: '50%'}
],

ECharts数据可视化 

 图标的位置发生了变化。

4.8 坐标轴

坐标轴被称作xAxis或yAxis,参数如下:

position//指定x轴的位置,可选参数有top(顶部)和bottom(底部)。
type//指定坐标轴的类型。可选参数有四种:“value”,表示数值类型的轴,适用于连续型数据;“category”,表示类别类型的轴,适用于离散的类别型数据;“time”,表示时间类型的轴,适用于连续的时间序列数据;“log”,表示对数类型的轴,适用于对数数据。
name//坐标轴的名称
nameLocation//坐标轴的名称显示位置。可选参数有三种:“start”,开始位置;“middle”或者“center”,中间位置;“end”,结束位置。
xAxis: {
    data:["一年级","二年级","三年级","四年级","五年级","六年级"],
    name: '年级',
    nameLocation: 'center',
    nameGap: 30
},
yAxis: {
    name: '人数',
    nameLocation: 'center',
    nameGap: 40
},

ECharts数据可视化

4.9 数据系列

数据被称作series。

series是一个数组结构,使用中括号,中括号内的每个部分用大括号包含,每个大括号类似一个字典结构,包含键(key)和值(value)。

4.10 全局字体样式

全局字体样式被称作textStyle,参数如下:

color//文字的颜色,例如textStyle.color =“#fff”。
fontStyle//文字字体的风格,可选值有normal、italic、oblique。
fontWeight//文字字体的粗细,可选值有normal、bold、bolder、lighter、100、200等数值。
fontFamily//文字的字体系列,可选值有sans-serif、serif、monospace、Arial、Courier New、Microsoft YaHei等。
fontSize//文字的字体大小,取值为数值,例如12。
textStyle: {
    color: 'blue'
},

 

ECharts数据可视化

第五章 可视化图

5.1 折线图

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        var option = {
            xAxis: {
                type: 'category',
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                data: [450, 232, 301, 734, 1090, 830, 500],
                type: 'line'
            }]
        };
        myChart.setOption(option);
    </script>
</body>
</html>

ECharts数据可视化

5.2 柱状图

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        option = {
            xAxis: {
                type: 'category',
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                data: [100, 150, 120, 90, 50, 130, 110],
                type: 'bar'
            }]
        };
        myChart.setOption(option);
    </script>
</body>
</html>

ECharts数据可视化

5.3 饼图

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        var option = {
            title: {
                text: '各商品销量占比',
                subtext: 'A商场情况分析',
                left: 'center'
            },
            tooltip: {
                trigger: 'item',
                formatter: '{a} <br/>{b} : {c} ({d}%)'
            },
            legend: {
                orient: 'vertical',
                left: 'left',
                data: ['A商品', 'B商品', 'C商品', 'D商品', 'E商品']
            },
            series: [
                {
                    name: '所售商品',
                    type: 'pie',
                    data: [
                        {value: 343, name: 'A商品'},
                        {value: 250, name: 'B商品'},
                        {value: 509, name: 'C商品'},
                        {value: 108, name: 'D商品'},
                        {value: 948, name: 'E商品'}
                    ],
                }
            ]
        };
        myChart.setOption(option);
    </script>
</body>
</html>

ECharts数据可视化

5.4 散点图

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        var option = {
            xAxis: {},
            yAxis: {},
            series: [{
                data: [
                    [2.0, 8.04],
                    [3.0, 6.95],
                    [23.0, 7.58],
                    [18.0, 8.81],
                    [12.0, 8.33],
                    [4.0, 9.96],
                    [16.0, 7.24],
                    [14.0, 4.26],
                    [12.0, 10.84],
                    [10.0, 4.82],
                    [7.0, 5.68]
                ],
                type: 'scatter'
            }]
        };
        myChart.setOption(option);
    </script>
</body>
</html>

ECharts数据可视化

5.5 气泡图

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        var option = {
            xAxis: {},
            yAxis: {},
            legend: {
                data: ['类别1','类别2']
            },
            series: [{
                name: '类别1',
                data: [
                    [2.0, 8.04, 10],
                    [3.0, 6.95, 20],
                    [23.0, 7.58, 30],
                    [18.0, 8.81, 15],
                    [12.0, 8.33, 16],
                    [4.0, 9.96, 5],
                    [16.0, 7.24, 18],
                    [14.0, 4.26, 35],
                    [12.0, 10.84, 20],
                    [10.0, 4.82, 50],
                    [7.0, 5.68, 13]
                ],
                symbolSize: function (data) {
                    return data[2];
                },
                type: 'scatter'
            },
            {
                name: '类别2',
                data: [
                    [1.0, 2.04],
                    [2.0, 15.95],
                    [26.0, 17.58],
                    [13.0, 7.81],
                    [22.0, 5.33],
                    [14.0, 9.96],
                    [6.0, 4.24],
                    [4.0, 4.26],
                    [22.0, 13.84],
                    [16.0, 14.82],
                    [17.0, 15.68]
            ],
                type: 'scatter'
            }
            ]
        };
        myChart.setOption(option);
    </script>
</body>
</html>

ECharts数据可视化

 

5.6 雷达图

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        var option = {
            title: {
                text: '雷达图'
            },
            tooltip: {},
            legend: {
                data: ['1号员工', '2号员工']
            },
            radar: {
                name: {
                    textStyle: {
                        color: '#fff',
                        backgroundColor: '#999',
                        borderRadius: 3,
                        padding: [3, 5]
                    }
                },
                indicator: [
                    { name: '技能A', max: 6500},
                    { name: '技能B', max: 16000},
                    { name: '技能C', max: 30000},
                    { name: '技能D', max: 38000},
                    { name: '技能E', max: 52000},
                    { name: '技能F', max: 25000}
                ]
            },
            series: [{
                type: 'radar',
                data: [
                    {
                        value: [4300, 10000, 28000, 35000, 50000, 19000],
                        name: '1号员工'
                    },
                    {
                        value: [5000, 14000, 28000, 31000, 42000, 21000],
                        name: '2号员工'
                    }
                ]
            }]
        };
        myChart.setOption(option);
    </script>
</body>
</html>

ECharts数据可视化 

5.7 漏斗图

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        option = {
            title: {
                text: '漏斗图',
            },
            tooltip: {
                trigger: 'item',
                formatter: "{a} <br/>{b} : {c}%"
            },
            toolbox: {
                feature: {
                    dataView: {readOnly: false},
                    restore: {},
                    saveAsImage: {}
                }
            },
            legend: {
                data: ['注册','登录','加购','下单','付款']
            },
            series: [
                {
                    name:'漏斗图',
                    type:'funnel',
                    left: '10%',          //漏斗左边到图片左部百分比
                    top: 60,             //漏斗顶部与图片顶部距离
                    bottom: 60,           //漏斗底部与图片底部距离
                    width: '80%',         //漏斗显示宽度
                    min: 0,
                    max: 100,
                    minSize: '0%',
                    maxSize: '100%',
                    sort: 'descending',      //漏斗数据降序排列,可选ascending
                    gap: 2,             //漏斗每部分之间间距
                    label: {
                        show: true,        //显示每漏斗部分名称
                        position: 'inside'   //每部分名称显示在图形内部
                    },
                    itemStyle: {
                        borderColor: '#fff',  //漏斗背景色
                        borderWidth: 10      //漏斗边界宽度
                    },
                    emphasis: {
                        label: {
                            fontSize: 25    //当鼠标悬停在漏斗某部分上,重点突出文字大小
                        }
                    },
                    data: [
                        {value: 100, name: '注册'},
                        {value: 86, name: '登录'},
                        {value: 70, name: '加购'},
                        {value: 35, name: '下单'},
                        {value: 25, name: '付款'}
                    ]
                }
            ]
        };
        myChart.setOption(option);
    </script>
</body>
</html>

ECharts数据可视化

 

5.8 仪表盘

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        var option = {
            tooltip: {
                formatter: '{a} <br/>{b} : {c}%'
            },
            toolbox: {
                feature: {
                    restore: {},
                    saveAsImage: {}
                }
            },
            series: [
                {
                    name: '',
                    type: 'gauge',
                    detail: {formatter: '{value}%'},
                    data: [{value: 75, name: '完成率'}]
                }
            ]
        };
        myChart.setOption(option);
    </script>
</body>
</html>

ECharts数据可视化

 

5.9 箱线图

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        var data = echarts.dataTool.prepareBoxplotData([
            [850, 740, 900, 1070, 930, 850, 950, 980, 980, 880, 1000, 980, 930, 650, 760, 810, 1000, 1000, 960, 960],
            [960, 940, 960, 940, 880, 800, 850, 880, 900, 840, 830, 790, 810, 880, 880, 830, 800, 790, 760, 800],
            [880, 880, 880, 860, 720, 720, 620, 860, 970, 950, 880, 910, 850, 870, 840, 840, 850, 840, 840, 840],
            [890, 810, 810, 820, 800, 770, 760, 740, 750, 760, 910, 920, 890, 860, 880, 720, 840, 850, 850, 780],
            [890, 840, 780, 810, 760, 810, 790, 810, 820, 850, 870, 870, 810, 740, 810, 940, 950, 800, 810, 870]
        ]);
        var option = {
            title: [
                {
                    text: '箱线图',
                    left: 'center',
                },
                {
                    text: 'upper: Q3 + 1.5 * IQR \nlower: Q1 - 1.5 * IQR',
                    borderColor: '#999',      //文字框边界颜色
                    borderWidth: 1,           //文字框边界宽度
                    textStyle: {
                        fontSize: 12          //该部分文字大小
                    },
                    left: '10%',              //该部分文字到左部的百分比位置
                    top: '90%'                //该部分文字到顶部的百分比位置
                }
            ],
            tooltip: {
                trigger: 'item',
                axisPointer: {
                    type: 'shadow'            //鼠标悬停在箱上会显示阴影
                }
            },
            grid: {
                left: '10%',                  //可视化网格距离左部百分比位置
                right: '10%',                 //可视化网格距离右部百分比位置
                bottom: '15%'                 //可视化网格距离底部百分比位置
            },
            xAxis: {
                type: 'category',
                data: data.axisData,         //使用data处理后的axisData数据
                axisLabel: {
                    formatter: '实验{value}'  //x轴名称模板
                }
            },
            yAxis: {
                type: 'value',
                name: '',
                splitArea: {
                    show: true               //y轴网格间阴影区分显示
                }
            },
            series: [
                {
                    type: 'boxplot',
                    data: data.boxData,     //使用data的处理后的boxData数据
                    tooltip: {              //以下是设置tooltip的显示数据和显示格式
                        formatter: function (param) {
                            return [
                                '实验' + param.name + ': ',
                                '上限: ' + param.data[5],
                                '上四分位数: ' + param.data[4],
                                '中位数: ' + param.data[3],
                                '下四分位数: ' + param.data[2],
                                '下限: ' + param.data[1]
                            ].join('<br/>');
                        }
                    }
                },
                {
                    name: 'outlier',
                    type: 'scatter',       //使用散点图显示异常值
                    data: data.outliers    //异常值数据
                }
            ]
        };
        myChart.setOption(option);
    </script>
</body>
</html>

5.10 热力图

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        var hours = ['12a', '1a', '2a', '3a', '4a', '5a', '6a',
             '7a', '8a', '9a','10a','11a',
             '12p', '1p', '2p', '3p', '4p', '5p',
             '6p', '7p', '8p', '9p', '10p', '11p'];
        var days = ['Saturday', 'Friday', 'Thursday',
                    'Wednesday', 'Tuesday', 'Monday', 'Sunday'];

        var data = [[0,0,5],[0,1,1],[0,2,0],[0,3,0],[0,4,0],[0,5,0],[0,6,0],[0,7,0],[0,8,0],[0,9,0],[0,10,0],[0,11,2],[0,12,4],[0,13,1],[0,14,1],[0,15,3],[0,16,4],[0,17,6],[0,18,4],[0,19,4],[0,20,3],[0,21,3],[0,22,2],[0,23,5],[1,0,7],[1,1,0],[1,2,0],[1,3,0],[1,4,0],[1,5,0],[1,6,0],[1,7,0],[1,8,0],[1,9,0],[1,10,5],[1,11,2],[1,12,2],[1,13,6],[1,14,9],[1,15,11],[1,16,6],[1,17,7],[1,18,8],[1,19,12],[1,20,5],[1,21,5],[1,22,7],[1,23,2],[2,0,1],[2,1,1],[2,2,0],[2,3,0],[2,4,0],[2,5,0],[2,6,0],[2,7,0],[2,8,0],[2,9,0],[2,10,3],[2,11,2],[2,12,1],[2,13,9],[2,14,8],[2,15,10],[2,16,6],[2,17,5],[2,18,5],[2,19,5],[2,20,7],[2,21,4],[2,22,2],[2,23,4],[3,0,7],[3,1,3],[3,2,0],[3,3,0],[3,4,0],[3,5,0],[3,6,0],[3,7,0],[3,8,1],[3,9,0],[3,10,5],[3,11,4],[3,12,7],[3,13,14],[3,14,13],[3,15,12],[3,16,9],[3,17,5],[3,18,5],[3,19,10],[3,20,6],[3,21,4],[3,22,4],[3,23,1],[4,0,1],[4,1,3],[4,2,0],[4,3,0],[4,4,0],[4,5,1],[4,6,0],[4,7,0],[4,8,0],[4,9,2],[4,10,4],[4,11,4],[4,12,2],[4,13,4],[4,14,4],[4,15,14],[4,16,12],[4,17,1],[4,18,8],[4,19,5],[4,20,3],[4,21,7],[4,22,3],[4,23,0],[5,0,2],[5,1,1],[5,2,0],[5,3,3],[5,4,0],[5,5,0],[5,6,0],[5,7,0],[5,8,2],[5,9,0],[5,10,4],[5,11,1],[5,12,5],[5,13,10],[5,14,5],[5,15,7],[5,16,11],[5,17,6],[5,18,0],[5,19,5],[5,20,3],[5,21,4],[5,22,2],[5,23,0],[6,0,1],[6,1,0],[6,2,0],[6,3,0],[6,4,0],[6,5,0],[6,6,0],[6,7,0],[6,8,0],[6,9,0],[6,10,1],[6,11,0],[6,12,2],[6,13,1],[6,14,3],[6,15,4],[6,16,0],[6,17,0],[6,18,0],[6,19,0],[6,20,1],[6,21,2],[6,22,2],[6,23,6]];

        data = data.map(function (item) {
            return [item[1], item[0], item[2] || '-'];
        });

        option = {
            tooltip: {
                position: 'top'
            },
            animation: false,
            grid: {
                height: '50%',          //控制热力图纵向宽度占比
                top: '10%'              //热力图距离上部百分比
            },
            xAxis: {
                type: 'category',
                data: hours,            //小时作为横轴
                splitArea: {
                    show: true
                }
            },
            yAxis: {
                type: 'category',
                data: days,            //星期作为纵轴
                splitArea: {
                    show: true
                }
            },
            visualMap: {
                min: 0,               //滑动条的最小值
                max: 10,              //滑动条的最大值
                calculable: true,     //滑动条显示数值
                orient: 'horizontal', //滑动条水平放置,默认竖直放置
                left: 'center',       //滑动条居中
                bottom: '15%'         //滑动条距离底部百分比距离
            },
            series: [{
                name: '',
                type: 'heatmap',      //热力图
                data: data,
                label: {
                    show: true        //热力图显示数值
                },
                emphasis: {           //鼠标悬停在热力图块时突出显示
                    itemStyle: {
                        shadowBlur: 10,
                        shadowColor: 'rgba(0, 0, 0, 0.5)'
                    }
                }
            }]
        };
        myChart.setOption(option);
    </script>
</body>
</html>

ECharts数据可视化

 

5.11 旭日图

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        var data = [{
        name: 'A',
        children: [{
            name: 'A1',//当前节点名称
            value: 15,//当前节点数值大小
            children: [{//子节点信息
                name: 'A11',
                value: 2
            }, {
                name: 'A13',
                value: 5,
                children: [{
                    name: 'A131',
                    value: 2
                }]
            }, {
                name: 'A12',
                value: 4
            }]
        }, {
            name: 'A2',
            value: 10,
            children: [{
                name: 'A21',
                value: 5
            }, {
                name: 'A22',
                value: 1
            }]
        }]
    }, {
        name: 'B',
        children: [{
            name: 'B1',
            children: [{
                name: 'B11',
                value: 1
            }, {
                name: 'B12',
                value: 2
            }]
        }]
    }];
    option = {
        series: {
            type: 'sunburst',//旭日图
            data: data,
            radius: [0, '90%'],//半径内部和外部占比
            label: {
                rotate: 'radial'
            }
        }
    };
        myChart.setOption(option);
    </script>
</body>
</html>

ECharts数据可视化

 

5.12 桑基图

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        option = {
            series: {
                type: 'sankey',
                data: [{
                    name: '输入1'
                }, {
                    name: '输入2'
                }, {
                    name: '输出1'
                }, {
                    name: '输出2'
                }, {
                    name: '中间层'
                }, {
                    name: '输出3'
                }],
                links: [{
                    source: '输入1',
                    target: '输出2',
                    value: 4
                }, {
                    source: '输入2',
                    target: '中间层',
                    value: 6
                }, {
                    source: '输入1',
                    target: '中间层',
                    value: 2
                }, {
                    source: '中间层',
                    target: '输出1',
                    value: 3
                }, {
                    source: '中间层',
                    target: '输出3',
                    value: 2
                }]
            }
        };
        myChart.setOption(option);
    </script>
</body>
</html>

ECharts数据可视化

 

5.13 词云图

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        option = {
            tooltip: {
                show: true
            },
            series: [{
                type: "wordCloud",           //词云图
                gridSize:6,                  //词的间距
                shape:'circle',              //词云形状,可选diamond,pentagon,circle,triangle,star等形状
                sizeRange: [12, 45],         //词云大小范围
                width:900,                   //词云显示宽度
                height:500,                  //词云显示高度
                textStyle: {
                    normal: {
                        color: function() {  //词云的颜色随机
                            return 'rgb(' + [
                                Math.round(Math.random() * 160),
                                Math.round(Math.random() * 160),
                                Math.round(Math.random() * 160)
                            ].join(',') + ')';
                        }
                    },
                    emphasis: {
                        shadowBlur: 10,      //阴影的模糊等级
                        shadowColor: '#333'  //鼠标悬停在词云上的阴影颜色
                    }
                },
                data: [{
                        name: "没有",
                        value: 30,
                    },
                    {
                        name: "屏幕",
                        value: 24
                    },
                    {
                        name: "不错",
                        value: 21
                    },
                    {
                        name: "可以",
                        value: 19
                    },
                    {
                        name: "发货",
                        value: 18
                    },
                    {
                        name: "这个",
                        value: 18
                    },
                    {
                        name: "什么",
                        value: 17
                    },
                    {
                        name: "一个",
                        value: 12
                    },
                    {
                        name: "不好",
                        value: 12
                    },
                    {
                        name: "质量",
                        value: 11
                    },
                    {
                        name: "快递",
                        value: 11
                    },
                    {
                        name: "问题",
                        value: 10
                    },
                    {
                        name: "物流",
                        value: 9
                    },
                    {
                        name: "几天",
                        value: 9
                    },
                    {
                        name: "一般",
                        value: 9
                    },
                    {
                        name: "就是",
                        value: 9
                    },
                    {
                        name: "使用",
                        value: 8
                    },
                    {
                        name: "怎么",
                        value: 8
                    },
                    {
                        name: "电池",
                        value: 8
                    },
                    {
                        name: "不能",
                        value: 8
                    },
                    {
                        name: "速度",
                        value: 8
                    },
                    {
                        name: "客服",
                        value: 8
                    },
                    {
                        name: "一星",
                        value: 8
                    },
                    {
                        name: "拍照",
                        value: 8
                    },
                    {
                        name: "摄像头",
                        value: 7
                    },
                ],
            }]
        };
        myChart.setOption(option);
    </script>
</body>
</html>

5.14 树图

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        var data = { //节点数据信息
            "name": "A",
            "children": [
                {
                    "name": "A1",
                    "children": [
                        {
                            "name": "A11"
                        },
                        {
                            "name": "A12",
                            "value": 3322
                        }
                    ]
                },
                {
                    "name": "A2",
                    "children": [
                        {"name": "A21", "value": 8833},
                        {"name": "A22", "value": 1732},
                        {"name": "A23", "value": 3623}
                    ]
                },
                {
                    "name": "A3",
                    "children": [
                        {"name": "A31", "value": 4116}
                    ]
                }
            ]
        };

        option = {
            tooltip: {
                trigger: 'item',
            },
            legend: {
                top: '2%',                    //图例距离上部百分比
                left: '3%',                   //图例距离左端百分比
                data: [{
                    name: 'tree1',
                    icon: 'rectangle'         //图例的图标形状为矩形
                }],
            },
            series:[
                {
                    type: 'tree',             //树图类型
                    name: 'tree1',            //树的名称
                    data: [data],             //树的数据来源于之前定义的data1
                    top: '5%',                //树距离上部的百分比距离
                    left: '7%',               //树距离左部的百分比距离
                    bottom: '2%',             //树距离底部的百分比距离
                    right: '20%',             //树距离右部的百分比距离
                    symbolSize: 20,           //节点的大小
                    label: {
                        position: 'top',      //非叶子节点的标签在上部
                        align: 'left'         //左对齐
                    },
                    leaves: {
                        label: {
                            position: 'right',//叶子节点的标签在节点右边
                            align: 'left'
                        }
                    }
                }
            ]
        };
        myChart.setOption(option);
    </script>
</body>
</html>

ECharts数据可视化

 

5.15 矩形树图

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        option = {
            series: [{
                type: 'treemap',
                data: [{
                    name: 'A',
                    value: 10,
                    children: [{
                        name: 'A1',
                        value: 4
                    }, {
                        name: 'A2',
                        value: 6,
                        children: [{
                            name: 'A21',
                            value: 2
                        },{
                            name: 'A22',
                            value: 4 ,
                            children: [{
                                name: 'A221',
                                value: 3
                            },{
                                name: 'A222',
                                value: 1
                            }]
                        }]
                    }]
                }, {
                    name: 'B',
                    value: 20,
                    children: [{
                        name: 'B1',
                        value: 20,
                        children: [{
                            name: 'B11',
                            value: 12
                        },{
                            name: 'B12',
                            value: 8
                        }]
                    }]
                }]
            }]
        };
        myChart.setOption(option);
    </script>
</body>
</html>

ECharts数据可视化

 

5.16 关系图

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="echarts.js"></script>
</head>
<body>
    <div id="main" style="width:600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        option = {
            title: {
                text: '关系图',
                top: '12%',
                left: 'center'
            },
            label: {
                normal: {
                    show: true
                }
            },
            legend: {
                x: "center",
                show: true,
                top: '20%',
                data: ["男性", "女性"]
            },
            series: [
                {
                    type: 'graph',             //关系图
                    layout: 'force',           //力导向图的布局
                    symbolSize: 50,            //节点大小
                    focusNodeAdjacency: true,  //当鼠标悬停在节点上时,会隐藏与当前节点非直接连接的节点
                    categories: [{             //节点类别
                        name: '男性',
                        itemStyle: {
                            normal: {
                                color: "#009800",
                            }
                        }
                    }, {
                        name: '女性',
                        itemStyle: {
                            normal: {
                                color: "#4592FF",
                            }
                        }
                    }],
                    label: {                  //节点名称
                        normal: {
                            show: true,
                            textStyle: {
                                fontSize: 20  //节点名称显示大小
                            },
                        }
                    },
                    force: {
                        repulsion: 1000      //节点之间的排斥力
                    },
                    edgeLabel: {
                        normal: {
                            show: true,
                            textStyle: {
                                fontSize: 10
                            },
                            formatter: "{c}"
                        }
                    },
                    data: [{
                        name: 'A',           //节点名称
                        category: 0,         //节点类型
                        draggable: true,     //节点是否可拖动
                    }, {
                        name: 'B',
                        category: 1,
                        draggable: true,
                    }, {
                        name: 'C',
                        category: 0,
                        draggable: true,
                    }, {
                        name: 'D',
                        category: 1,
                        draggable: true,
                    }, {
                        name: 'E',
                        category: 0,
                        draggable: true,
                    }, {
                        name: 'F',
                        category: 1,
                        draggable: true,
                    }, {
                        name: 'G',
                        category: 1,
                        draggable: true,
                    },{
                        name: 'H',
                        category: 1,
                        draggable: true,
                    }],
                    links: [{
                        source: 0,           //关系的起点
                        target: 1,           //关系的终点
                        value: '夫妻'        //关系类型
                    },{
                        source: 0,
                        target: 3,
                        value: '父子'
                    }, {
                        source: 0,
                        target: 5,
                        value: '朋友'
                    }, {
                        source: 4,
                        target: 5,
                        value: '同事'
                    }, {
                        source: 2,
                        target: 7,
                        value: '夫妻'
                    }, {
                        source: 1,
                        target: 7,
                        value: '朋友'
                    }, {
                        source: 1,
                        target: 4,
                        value: '朋友'
                    }, {
                        source: 1,
                        target: 6,
                        value: '朋友'
                    }
                    ],
                    lineStyle: {            //关系连接线的样式设置
                        normal: {
                            opacity: 0.9,   //关系连接线的不透明度为0.9
                            width: 3,       //关系连接线的宽度
                            curveness: 0    //关系连接线的弯曲程度
                        }
                    }
                }
            ]
        };
        myChart.setOption(option);
    </script>
</body>
</html>

ECharts数据可视化

 

到了这里,关于ECharts数据可视化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据可视化一、ECharts

    1、数据可视化 (1)数据可视化 数据可视化主要目的:借助于图形化手段,清晰有效地传达与沟通信息。 数据可视化可以把数据从冰冷的数字转换成图形,揭示蕴含在数据中的规律和道理。 (2)数据可视化的场景 目前互联网公司通常有这么几大类的可视化需求: (3)常见

    2024年02月05日
    浏览(32)
  • ECharts数据可视化--常用图表类型

    目录 一.柱状图 1.基本柱状图  1.1最简单的柱状图 ​编辑   1.2多系列柱状图   1.3柱状图的样式          (1)柱条样式                  (2)柱条的宽度和高度         (3)柱条间距         (4)为柱条添加背景颜色 ​编辑 2.堆叠柱状图 3.动态排序柱状图 4.阶梯

    2024年02月05日
    浏览(42)
  • 构建数据可视化(基于Echarts,python)

    本文目录: 一、写在前面的题外话 二、数据可视化概念 三、用Python matplotlib库绘制数据可视化图 四、基于Echarts构建大数据可视化 4.1、安装echarts.js 4.2、数据可视化折线图制作 4.2.1、基础折线图 4.2.2、改善折线图 4.2.3、平滑折线图 4.2.4、虚线折线图 4.2.5、阶梯折线图 4.2.6、面

    2024年02月11日
    浏览(43)
  • 数据可视化-ECharts Html项目实战(5)

     在之前的文章中,我们学习了如何设置滚动图例,工具箱设置和插入图片。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢 数据可视化-ECharts Html项目实战(4)-CSDN博客 https://blog.csdn.net/qq_49513817/

    2024年03月24日
    浏览(36)
  • Apache Echarts(智能生成图表)-数据可视化

    Apache ECharts 是一款基于Javascript的数据可视化图表库,提供直观生动可交互,可个行化定制的数据可视化图表 Apache ECharts是一个基于JavaScript的开源可视化库,用于创建交互式的、可定制的图表和数据可视化。它是由百度前端开发团队开发和维护的,于2013年首次发布,现在已成

    2024年04月11日
    浏览(29)
  • 数据可视化-Echarts官网及社区整理

    Echarts是一个基于 JavaScript 的开源可视化图表库,官方提供很多基础图表,社区提供用户自己探索的变体。 https://echarts.apache.org/examples/zh/index.html 提供学习文档 https://www.makeapie.cn/echarts 官方社区示例很多,还有以下社区可探索: 【搬运自:博客ECharts社区 合集整理】

    2024年02月06日
    浏览(33)
  • php+echarts实现数据可视化实例2

    php css

    2024年02月12日
    浏览(26)
  • php+echarts实现数据可视化实例3

     效果 全部代码 css

    2024年02月11日
    浏览(25)
  • 基于Echarts构建大数据招聘岗位数据可视化大屏

    🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 1.项目背景 2.项目简介 3.项目流程 3.1整体布局 3.2左边布局 3.3中间布局  3.4右边布局  

    2024年02月03日
    浏览(36)
  • 【数据可视化】基于Python和Echarts的中国经济发展与人口变化可视化大屏

    1.题目要求 本次课程设计要求使用Python和ECharts实现数据可视化大屏。要求每个人的数据集不同,用ECharts制作Dashboard(总共至少4图),要求输入查询项(地点和时间)可查询数据,查询的数据的地理位置展示在地图上;绘制一个带时间轴的动态图,展示不同时间的数据;根据

    2024年02月16日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包