栏目一:使用echarts绘制简单图形

栏目一:使用echarts绘制简单图形

  • 前言
  • [1. 在线编辑图形](#1. 在线编辑图形)
    • [1.1 折线图](#1.1 折线图)
    • [1.2 柱状图](#1.2 柱状图)
    • [1.3 扇形图](#1.3 扇形图)
  • [2. 本地绘制图表](#2. 本地绘制图表)
    • [2.1 下载echarts.min.js](#2.1 下载echarts.min.js)
    • [2.2 创建一个简单的图形](#2.2 创建一个简单的图形)

前言

Echarts是一款基于JavaScript的可视化图表库。它提供了丰富的图表类型和交互功能,可以用于在网页中展示各种数据。Echarts支持多种数据格式的转换和操作,可以轻松地将数据转换为图表所需的格式,并且可以对图表进行个性化的配置和设置。Echarts还支持响应式布局,可以根据不同的设备和屏幕大小自动调整图表的显示效果。Echarts的文档齐全,使用简便,并且具有强大的扩展性,可以满足各种复杂的数据可视化需求。

官网链接:https://echarts.apache.org/zh/index.html

快速入门:https://echarts.apache.org/handbook/zh/get-started/

本章节将从在线编辑图表和本地绘制图表两个方面进行介绍

1. 在线编辑图形

1.1 折线图

以下是官网的一个简单示例

代码介绍

// 注释说明:

// 1. 这个配置对象定义了一个简单的折线图,其中X轴是周几('Mon'到'Sun'),Y轴是对应的数值。

// 2. xAxis 定义了X轴的基本属性,包括轴的类型(类目轴)和轴上的数据(周一至周日)。

// 3. yAxis 定义了Y轴的基本属性,即轴的类型(数值轴)。

// 4. series 是图表的核心,定义了图表的数据和类型。这里只定义了一个系列,类型为折线图,数据为一周内每天的某个数值。

javascript 复制代码
// ECharts 配置对象  
option = {  
  // X 轴配置  
  xAxis: {  
    // X轴类型,'category' 表明是类目轴,适用于离散的类目数据  
    type: 'category',  
    // X轴上的数据,数组项表示类目名  
    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']  
  },  
  // Y 轴配置  
  yAxis: {  
    // Y轴类型,'value' 表明是数值轴,适用于连续数据  
    type: 'value'  
  },  
  // 系列列表,每个系列通过 type 决定渲染成哪种图表  
  series: [  
    {  
      // 数据数组,数组项通常为具体的数据值  
      data: [150, 230, 224, 218, 135, 147, 260],  
      // 图表类型,'line' 表示折线图  
      type: 'line'  
    }  
  ]  
};  

1.2 柱状图

简单柱状图展示

代码介绍

// 注释说明:

// 1. 这个配置对象定义了一个简单的柱状图,其中X轴是周几('Mon'到'Sun'),Y轴是对应的数值。

// 2. xAxis 定义了X轴的基本属性,包括轴的类型(类目轴)和轴上的数据(周一至周日)。

// 3. yAxis 定义了Y轴的基本属性,即轴的类型(数值轴)。

// 4. series 是图表的核心,定义了图表的数据和类型。这里定义了一个系列,类型为柱状图。

// 5. 在 series 的 data 数组中,周二的数据被设置为一个对象,其中不仅包含了值(value: 200),还包含了数据点的样式(itemStyle),特别地将颜色设置为红色(#a90000)。

// 6. 其余数据点直接使用数值表示,没有额外设置样式,将使用默认的样式渲染。

javascript 复制代码
// ECharts 配置对象  
option = {  
  // X 轴配置  
  xAxis: {  
    // X轴类型,'category' 表明是类目轴,适用于离散的类目数据  
    type: 'category',  
    // X轴上的数据,数组项表示类目名  
    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']  
  },  
  // Y 轴配置  
  yAxis: {  
    // Y轴类型,'value' 表明是数值轴,适用于连续数据  
    type: 'value'  
  },  
  // 系列列表,每个系列通过 type 决定渲染成哪种图表  
  series: [  
    {  
      // 数据数组,数组项通常为具体的数据值,但也可以是包含值和样式的对象  
      data: [  
        120,                 // 周一的数据  
        {  
          value: 200,        // 周二的数据值  
          itemStyle: {       // 数据点的样式配置  
            color: '#a90000' // 将周二的数据点颜色设置为红色  
          }  
        },  
        150,                 // 周三的数据  
        80,                  // 周四的数据  
        70,                  // 周五的数据  
        110,                 // 周六的数据  
        130                  // 周日的数据  
      ],  
      // 图表类型,'bar' 表示柱状图  
      type: 'bar'  
    }  
  ]  
};  

1.3 扇形图

扇形图示例

代码介绍

// 注释说明:

// 1. 这个配置对象定义了一个饼图,展示了不同来源的访问量。

// 2. tooltip 组件用于在鼠标悬停时显示更详细的数据信息。

// 3. legend 组件用于显示图例,方便用户通过点击图例来筛选显示的数据系列。

// 4. series 定义了饼图的具体配置,包括名称、类型、半径范围、扇区样式、标签设置、高亮状态样式以及数据内容。

// 5. 在 series 的 data 数组中,每个对象代表一个扇区,包含数值(value)和名称(name)。

// 6. 注意:由于 label 的 show 属性被设置为 false,所以默认的标签不会显示,只有在扇区被高亮(如鼠标悬停)时,通过 emphasis 设置的标签才会显示。

javascript 复制代码
// ECharts 配置对象  
option = {  
  // 提示框组件,用于展示更详细的数据信息  
  tooltip: {  
    // 触发类型,'item' 表示数据项图形触发,主要在类目轴(category axis)上使用  
    trigger: 'item'  
  },  
  // 图例组件,用于展示系列的标记(symbol)、颜色和名字  
  legend: {  
    // 图例组件距离容器上边界的距离,单位可以是像素(px)或百分比(%)  
    top: '5%',  
    // 图例组件距离容器左边界的距离,这里设置为居中  
    left: 'center'  
  },  
  // 系列列表,每个系列通过 type 决定渲染成哪种图表  
  series: [  
    {  
      // 系列名称,用于 tooltip 的显示,legend 的图例筛选  
      name: 'Access From',  
      // 图表类型,'pie' 表示饼图  
      type: 'pie',  
      // 饼图的半径范围,数组的第一项是内半径,第二项是外半径  
      radius: ['40%', '70%'],  
      // 是否启用标签的防重叠策略,这里设置为 false 表示不启用  
      avoidLabelOverlap: false,  
      // 扇形的圆角角度,用于绘制圆角的扇形  
      padAngle: 5,  
      // 扇形的样式设置  
      itemStyle: {  
        // 扇形的边框圆角  
        borderRadius: 10  
      },  
      // 标签的显示设置  
      label: {  
        // 是否显示标签  
        show: false,  
        // 标签的位置  
        position: 'center' // 注意:由于 show 设置为 false,这里的位置设置实际上不会生效  
      },  
      // 高亮状态的样式设置  
      emphasis: {  
        // 高亮时标签的显示设置  
        label: {  
          // 是否显示标签  
          show: true,  
          // 标签的字体大小  
          fontSize: 40,  
          // 标签的字体粗细  
          fontWeight: 'bold'  
        }  
      },  
      // 是否显示扇区到标签的连线  
      labelLine: {  
        show: false  
      },  
      // 数据内容数组,表示每个扇区的数值和名称  
      data: [  
        { value: 1048, name: 'Search Engine' }, // 搜索引擎来源  
        { value: 735, name: 'Direct' },         // 直接访问  
        { value: 580, name: 'Email' },          // 邮件营销  
        { value: 484, name: 'Union Ads' },      // 联盟广告  
        { value: 300, name: 'Video Ads' }       // 视频广告  
      ]  
    }  
  ]  
};  

2. 本地绘制图表

2.1 下载echarts.min.js

下载链接:https://gitee.com/hope_xi/common-js-files/blob/master/echarts.min.js#

选择echarts.min.js下载

如果觉得下载麻烦,也可以直接复制echarts.min.js代码,在本地创建echarts.min.js文件后把代码拷贝进取,保存。

2.2 创建一个简单的图形

常见一个demo.html文件,放入下方代码

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 为 ECharts 准备一个定义了宽高的 DOM -->
  <div id="main" style="width: 600px;height:400px;"></div>
</body>
<!-- 引入刚刚下载的 ECharts 文件 -->
<script src="../js/echarts.min.js"></script>
<script>
    var chartDom = document.getElementById('main');
    var myChart = echarts.init(chartDom);
    var option;

    option = {
    tooltip: {
        trigger: 'item'
    },
    legend: {
        top: '5%',
        left: 'center'
    },
    series: [
        {
        name: 'Access From',
        type: 'pie',
        radius: ['40%', '70%'],
        avoidLabelOverlap: false,
        padAngle: 5,
        itemStyle: {
            borderRadius: 10
        },
        label: {
            show: false,
            position: 'center'
        },
        emphasis: {
            label: {
            show: true,
            fontSize: 40,
            fontWeight: 'bold'
            }
        },
        labelLine: {
            show: false
        },
        data: [
            { value: 1048, name: 'Search Engine' },
            { value: 735, name: 'Direct' },
            { value: 580, name: 'Email' },
            { value: 484, name: 'Union Ads' },
            { value: 300, name: 'Video Ads' }
        ]
        }
    ]
    };

    option && myChart.setOption(option);
</script>
</html>

打开页面,便可看到echart图表

接下来就可以根据自己的项目选择合适的图表进行展示了。

具体图形设置可以观看echart配置项手册

后续我也会分享一些自己平时用到的好看的图表。

相关推荐
计时开始不睡觉6 分钟前
【微信小程序前端开发】入门Day03 —— 页面导航、事件、生命周期、WXS 脚本及自定义组件
开发语言·前端·javascript·微信小程序
2401_8572979114 分钟前
招联金融秋招内推2025
java·前端·算法·金融·求职招聘
正小安14 分钟前
微信小程序用户信息更新指南:头像与昵称篇
前端·微信小程序·小程序
爱技术的小伙子16 分钟前
【30天玩转python】Web开发(Flask/Django)
前端·python·flask
Want59536 分钟前
HTML流光爱心
前端·javascript·html
一抓掉一大把1 小时前
前端登录页面验证码
前端·javascript·vue.js
yqcoder2 小时前
Vue3 组件中使用 SCSS 变量
开发语言·前端
多多*2 小时前
OJ在线评测系统 后端 判题机模块预开发 架构分析 使用工厂模式搭建
java·linux·开发语言·前端·数据库·microsoft·架构
幼儿园老大*2 小时前
【Echarts】折线图和柱状图如何从后端动态获取数据?
前端·javascript·vue.js·经验分享·后端·echarts·数据可视化