HTML+CSS+JavaScript+Ajax+ECharts实现疫情实时监控大屏-1快速上手

1  ECharts简介

ECharts是一款开源的基于JavaScript的数据可视化图表库,可以流畅地运行在PC和移动设备上,兼容当前绝大多数浏览器。它底层依赖矢量图形库ZRender,支持超过12类图表,同时提供7个功能灵活高效的可交互组件,支持多图表、组件的联动和混搭展现,创新的拖重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力,可以呈现出直观、生动、交互丰富、可高度个性化定制的数据可视化图表。正因为ECharts的优良特性,它的应用场景广泛,是热门的前端数据可视化图表库。

2.ECharts快速上手

(1). 获取ECharts

ECharts提供了多种安装方式,可以从GitHub、npm或CDN获取。本书介绍从 GitHub获取的安装方式。

打开ECharts官网,单击下载页面下方Assets中的Source code(zip)(见图11-1),解压后dist目录下的“echarts.js”为完整的ECharts功能的文件。

 图11-1  ECharts官网下载页面

其中echarts.js是包含源代码的版本,echarts.min.js是压缩过后的版本,项目中推荐使用压缩版本以节省资源。

(2). 引入ECharts

<!-- 引入下载的 ECharts 文件 -->
<script src="echarts.js"></script>

3  配置项

在引入echarts.js后,就可以开始绘制图表。在绘图前,首先需要为ECharts准备一个定义了高宽的DOM容器。示例如下:

<body>
  <!-- 为 ECharts 准备一个定义了宽高的 DOM -->
  <div id="main" style="width: 600px;height:400px;"></div>
</body>

然后通过ECharts.init()方法初始化一个ECharts实例,并通过setOption()方法生成一个图表。其中setOption()方法需要一个配置项作为参数。配置项使用JSON数据格式的配置来绘制图表,包括了标题、提示信息、图例组件、X轴、Y轴、系列列表等选项。

【例11-1】ECharts快速入门

1 <!-- 引入ECharts 文件 -->
 2 <script src="echarts.min.js"></script>
 3 <body>
 4  <!-- 为 ECharts 准备一个定义了宽高的 DOM -->
 5  <div id="main" style="width: 600px;height:400px;"></div>
 6  <script type="text/javascript">
 7    // 基于准备好的DOM,初始化ECharts实例
 8    var myChart = echarts.init(document.getElementById('main'));
 9    // 指定图表的配置项和数据
10    var option = {
11      //图表标题
12      title: {
13        text: 'ECharts 入门示例'
14      },
15      //图例
16      legend: {
17        data: ['销量']
18      },
19      //X轴
20      xAxis: {
21        data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
22      },
23     //系列列表
24      series: [
25        {
26          name: '销量',// legend对应的名称
27          type: 'bar',// 图形类型
28          data: [5, 20, 36, 10, 10, 20]// 数值
29        }
30      ]
31   };
32    // 使用刚指定的配置项和数据显示图表。
33   myChart.setOption(option);
34  </script>
35 </body>
36 </html>

例11-1中,第2行代码引入ECharts文件;第5行代码为ECharts准备一个定义了宽高的DOM;第8行代码调用ECharts.init()方法初始化一个ECharts实例;第10~31行代码指定图表的配置项和数据,包括了标题、图例、X轴、系列列表等选项;第33行代码调用setOption()方法使用刚指定的配置项和数据显示图表。例11-1在Chrome浏览器中的运行效果,如图11-2所示。

 图11-2  【例11-1】运行效果

4  常用图表配置项

ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于BI的漏斗图、仪表盘,并且支持图与图之间的混搭。图表之间主要的区别是配置项不同。本节将介绍折线图、饼图、用于地理数据可视化的地图等常用图表的配置项。

(1). 折线图

常用配置项,示例如下:

【例11-2】ECharts折线图常用配置项

var option = {
    //提示信息
    tooltip: {
        trigger: 'axis',//触发类型:坐标轴触发
        //指示器
        axisPointer: {
            type: 'line',//直线指示器
            lineStyle: {
                color: '#7171C6'//指示器颜色
            }
         },
    },
    //X轴
    xAxis: {
        type: 'category',//类目轴,适用于离散的类目数据,为该类型时必须通过 data 设置类目数据
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']//X轴数据
    },
    //Y轴
    yAxis: {
        type: 'value'//数值轴,适用于连续数据
    },
    //系列列表
    series: [
        {
            data: [150, 230, 224, 218, 135, 147, 260],//系列数据
            type: 'line'// 图形类型 
        }
    ]
};

其中最重要的选项是X轴数据xAxis.data和系列数据series[0]. data,填充不同的数据可以实现不同的折线图数据效果。配置项效果,如图11-3所示,完整代码详见例11-2。

图11-3  【例11-2】运行效果

(2). 饼图

常用配置项,示例如下:

【例11-3】ECharts饼图常用配置项 

option = {
    title: {
        text: 'Referer of a Website',
        subtext: 'Fake Data',//子标题
        left: 'center'
    },
    tooltip: {
        trigger: 'item'
    },
    legend: {
        orient: 'vertical',
        left: 'left'
    },
    series: [
        {
            name: 'Access From',//系列名称,用于tooltip的显示
            type: 'pie',// 图形类型
            radius: '50%',//饼图的半径
            data: [//饼图数据
                { value: 1048, name: 'Search Engine' },
                { value: 735, name: 'Direct' },
                { value: 580, name: 'Email' },
                { value: 484, name: 'Union Ads' },
                { value: 300, name: 'Video Ads' }
            ]
        }
    ]
};

其中最重要的选项是系列数据series[0].data,填充不同的数据可以实现不同的饼图数据效果。配置项效果,如图11-4所示,完整代码详见例11-3。

图11-4  【例11-3】运行效果 


视频讲解:HTML+CSS+JavaScript+Ajax+ECharts实现疫情实时监控大屏_哔哩哔哩_bilibili

源码:清华大学出版社-图书详情-《JavaScript前端开发与实例教程(微课视频版)》

猜你喜欢

转载自blog.csdn.net/weixin_43396749/article/details/128031725
今日推荐