栏目一:使用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配置项手册

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

相关推荐
清秋5 小时前
全网最全 ECMAScript 攻略( 更新至 ES2026)
前端·javascript·编程语言
Cao_Ron5 小时前
用 SVG image symbol 画 ECharts graph 圆形节点
前端
hxy06015 小时前
React-Call让你的React组件像异步函数一样调用
前端·react.js
Hilaku6 小时前
为什么 AI 写前端时,总是优先选择 React,而不是 Vue?
前端·javascript·程序员
京东云开发者6 小时前
GPT-5.6、ChatGPT Work 与 Codex 更新食用指南
前端
Cao_Ron6 小时前
用 ECharts graph 画出卡片式矩形节点
前端
skiyee6 小时前
换个底座的 Wot Starter 居然让 AI 更懂项目!
前端·ai编程
anyup6 小时前
这一套绝了!AI 大模型写故事,星云 SDK 驱动 3D 数字人实时演绎
前端·人工智能·aigc
耀耀切克闹灬6 小时前
短链跳转
前端
孟陬6 小时前
高质量全方位的 AI 工具 sse-stuntman — Mock SSE 接口
前端·node.js·openai