数据可视化工具 - ECharts饼形图的编写

news2024/11/17 15:56:28

1 饼形图 1年龄分布模块制作

1.1 官网找到类似实例, 适当分析,并且引入到HTML页面中

在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>ECharts</title>
    <!-- 引入刚刚下载的 ECharts 文件 -->
    <script src="echarts.js"></script>
</head>
<style>
</style>
<body>
<!-- 为 ECharts 准备一个定义了宽高的 DOM -->
<div id="main" style="width: 600px;height:400px;margin: 0 auto;"></div>
<script type="text/javascript">
    // 1. 实例化对象
    var myChart = echarts.init(document.getElementById("main"));
    // 2. 指定配置和数据
    option = {
        tooltip: {
            trigger: 'item'
        },
        legend: {
            top: '5%',
            left: 'center'
        },
        series: [
            {
                name: 'Access From',
                type: 'pie',
                radius: ['40%', '70%'],
                avoidLabelOverlap: false,
                label: {
                    show: false,
                    position: 'center'
                },
                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'}
                ]
            }
        ]
    };
    // 使用刚指定的配置项和数据显示图表。
    myChart.setOption(option);
</script>
</body>
</html>

1.2 根据需求定制图表

  • 修改图例组件在底部并且居中显示
  • 每个小图标的宽度和高度修改为 10px
  • 文字大小为12 颜色 rgba(255,255,255,.5)
        legend: {
            // 距离底部为0%
            bottom: "0%",
            // 小图标的宽度和高度
            itemWidth: 10,
            itemHeight: 10,
            // 修改图例组件的文字为 12px
            textStyle: {
                color: "rgb(222,15,15)",
                fontSize: "12"
            }
        },
  • 修改水平居中 垂直居中
  • 修改内圆半径和外圆半径为 [“40%”, “60%”] ,带有直角坐标系的比如折线图柱状图是 grid修改图形大小,而我们饼形图是通过 radius 修改大小
        series: [
            {

                name: 'Access From',
                type: 'pie',
                avoidLabelOverlap: false,
                // 设置饼形图在容器中的位置
                center: ["50%", "50%"],
                //  修改内圆半径和外圆半径为  百分比是相对于容器宽度来说的
                radius: ["40%", "60%"],
                // 不显示标签文字
                label: {show: false},
                // 不显示连接线
                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'}
                ]
            }
        ]
  • 更换数据
                data: [
                    {value: 1, name: "0岁以下"},
                    {value: 4, name: "20-29岁"},
                    {value: 2, name: "30-39岁"},
                    {value: 2, name: "40-49岁"},
                    {value: 1, name: "50岁以上"}
                ]
  • 更换颜色

在这里插入图片描述

2 饼形图2 地区分布模块制作(南丁格尔玫瑰图)

2.1 官网找到类似实例, 适当分析,并且引入到HTML页面中

在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>ECharts</title>
    <!-- 引入刚刚下载的 ECharts 文件 -->
    <script src="echarts.js"></script>
</head>
<style>
</style>
<body>
<!-- 为 ECharts 准备一个定义了宽高的 DOM -->
<div id="main" style="width: 600px;height:400px;margin: 0 auto;"></div>
<script type="text/javascript">
    // 1. 实例化对象
    var myChart = echarts.init(document.getElementById("main"));
    // 2. 指定配置和数据
    option = {
        tooltip: {
            trigger: 'item',
            formatter: '{a} <br/>{b} : {c} ({d}%)'
        },
        legend: {
            left: 'center',
            top: 'bottom',
            data: [
                'rose1',
                'rose2',
                'rose3',
                'rose4',
                'rose5',
                'rose6',
                'rose7',
                'rose8'
            ]
        },
        series: [
            {
                name: 'Area Mode',
                type: 'pie',
                radius: [20, 140],
                center: ['50%', '50%'],
                roseType: 'area',
                itemStyle: {
                    borderRadius: 5
                },
                data: [
                    {value: 30, name: 'rose 1'},
                    {value: 28, name: 'rose 2'},
                    {value: 26, name: 'rose 3'},
                    {value: 24, name: 'rose 4'},
                    {value: 22, name: 'rose 5'},
                    {value: 20, name: 'rose 6'},
                    {value: 18, name: 'rose 7'},
                    {value: 16, name: 'rose 8'}
                ]
            }
        ]
    };
    // 使用刚指定的配置项和数据显示图表。
    myChart.setOption(option);
</script>
</body>
</html>

2.2 根据需求定制图表

  • 颜色设置
color: ['#006cff', '#60cda0', '#ed8884', '#ff9f7f', '#0096ff', '#9fe6b8', '#32c5e9', '#1d9dff'],

  • 修改饼形图大小 ( series对象)
	radius: [20, 140],

  • 把饼形图的显示模式改为 半径模式
 roseType: "radius",
  • 数据使用更换(series对象 里面 data对象)
          { value: 20, name: '云南' },
          { value: 26, name: '北京' },
          { value: 24, name: '山东' },
          { value: 25, name: '河北' },
          { value: 20, name: '江苏' },
          { value: 25, name: '浙江' },
          { value: 30, name: '四川' },
          { value: 42, name: '湖北' }
  • 字体略小些 10 px ( series对象里面设置 ) 饼图图形上的文本标签可以控制饼形图的文字的一些样式。 label 对象设置:
    // 文本标签控制饼形图文字的相关样式, 注意它是一个对象
    label: {
        fontSize: 20
    },
  • 防止缩放的时候,引导线过长。引导线略短些 (series对象里面的 labelLine 对象设置 )
    连接图表 6 px
    连接文字 8 px
 // 引导线调整
 labelLine: {
     // 连接扇形图线长
     length: 50,
     // 连接文字线长
     length2: 20
 },
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>ECharts</title>
    <!-- 引入刚刚下载的 ECharts 文件 -->
    <script src="echarts.js"></script>
</head>
<style>
</style>
<body>
<!-- 为 ECharts 准备一个定义了宽高的 DOM -->
<div id="main" style="width: 600px;height:400px;margin: 0 auto;"></div>
<script type="text/javascript">
    // 1. 实例化对象
    var myChart = echarts.init(document.getElementById("main"));
    // 2. 指定配置和数据
    option = {
        tooltip: {
            trigger: 'item',
            formatter: '{a} <br/>{b} : {c} ({d}%)'
        },
        legend: {
            left: 'center',
            top: 'bottom',
            data: [
                'rose1',
                'rose2',
                'rose3',
                'rose4',
                'rose5',
                'rose6',
                'rose7',
                'rose8'
            ]
        },
        series: [
            {
                name: 'Area Mode',
                type: 'pie',
                center: ['50%', '50%'],
                // roseType: 'area',
                roseType: "radius",
                radius: ['10%', '70%'],
                // 文本标签控制饼形图文字的相关样式, 注意它是一个对象
                label: {
                    fontSize: 20
                },
                // 引导线调整
                labelLine: {
                    // 连接扇形图线长
                    length: 50,
                    // 连接文字线长
                    length2: 20
                },
                itemStyle: {
                    borderRadius: 5
                },
                data: [
                    {value: 20, name: '云南'},
                    {value: 26, name: '北京'},
                    {value: 24, name: '山东'},
                    {value: 25, name: '河北'},
                    {value: 20, name: '江苏'},
                    {value: 25, name: '浙江'},
                    {value: 30, name: '四川'},
                    {value: 42, name: '湖北'}
                ],
                color: ['#006cff', '#60cda0', '#ed8884', '#ff9f7f', '#0096ff', '#9fe6b8', '#32c5e9', '#1d9dff'],
            }
        ]
    };
    // 使用刚指定的配置项和数据显示图表。
    myChart.setOption(option);
</script>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/509404.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android WebRTC+SRS/ZLM视频通话(4):Android使用WebRTC推流SRS/ZLMediaKit

Android WebRTCSRS/ZLM视频通话&#xff08;4&#xff09;&#xff1a;Android使用WebRTC推流SRS/ZLMediaKit 来自奔三人员的焦虑日志 接着上一章内容&#xff0c;继续来记录Android是如何使用WebRTC往SRS或ZLMediaKit进行推流。想要在Android设备上实现高质量的实时流媒体推送…

VirtualBox+Vagrant

1.下载VirtualBox 1.下载 VirtualBox官网下载 下载过程无特别注意事项&#xff0c;注意调整到非 C 盘位置即可&#xff0c;其他部分皆为默认设置 2.修改虚拟电脑存储位置 1.将C:\Users\用户名下的VirtualBox VMs文件夹复制到自定义目标文件夹中 2.打开VirtualBox,在全局设置…

嵌入式TCP/IP协议栈-LwIP

文章目录 LWIP是什么基础知识OSI七层模型TCP/IP五层模型LwIP的模型常见协议ARP协议ICMP协议DHCP协议DNS协议 LwIP APISocket大端模式与小端模式地址字节序IP地址转换 网络并发 LWIP是什么 LWIP是一个轻量级的TCP/IP协议栈&#xff0c;其全称为Lightweight IP&#xff0c;它专门…

UNIX网络编程卷一 学习笔记 第十二章 IPv4与IPv6的互操作性

未来数年内&#xff0c;因特网也许会逐渐从IPv4过渡到IPv6&#xff0c;在过渡阶段&#xff0c;基于IPv4的现有应用能与基于IPv6的全新应用协同工作非常重要。例如&#xff0c;厂商不应只提供仅能与IPv6 telnet服务器程序协同工作的telnet客户程序&#xff0c;而应该提供既能与I…

环境搭建:Visual Studio的安装和创建C++项目

Visual Studio的安装和创建C项目 引言前言下载Visual Studio安装包安装Visual Studio创建项目小结 引言 &#x1f4a1; 作者简介&#xff1a;专注于C/C高性能程序设计和开发&#xff0c;理论与代码实践结合&#xff0c;让世界没有难学的技术。 &#x1f449; &#x1f396;️ C…

第五十章 Unity Input Manager 输入系统(上)

Unity的输入系统支持多种输入设备&#xff0c;比如键盘和鼠标&#xff0c;游戏手柄&#xff0c;触摸屏&#xff0c;VR和AR控制器等等。Unity 通过两个独立的系统提供输入支持&#xff1a;第一&#xff0c;输入管理器 (Input Manager) 是 Unity 核心平台的一部分&#xff0c;默认…

数据可视化一、ECharts

零、文章目录 数据可视化一、ECharts 1、数据可视化 &#xff08;1&#xff09;数据可视化 数据可视化主要目的&#xff1a;借助于图形化手段&#xff0c;清晰有效地传达与沟通信息。数据可视化可以把数据从冰冷的数字转换成图形&#xff0c;揭示蕴含在数据中的规律和道理。…

TGANet:用于改进息肉分割的文本引导注意力

文章目录 TGANet: Text-Guided Attention for Improved Polyp Segmentation摘要本文方法编码器模块Feature Enhancement ModuleLabel AttentiondecoderMulti-scale Feature Aggregation损失函数 实验结果 TGANet: Text-Guided Attention for Improved Polyp Segmentation 摘要…

2023年湖北建设厅特种工报名需要什么条件?报名流程是什么?

2023年湖北建设厅特种工报名需要什么条件&#xff1f;报名流程是什么&#xff1f; 建设厅特种工现在已经开始报名考试安排计划了&#xff0c;想要报考建设厅特种工的现在可以了解一下具体的流程以及相关信息哟。为自己报名考试做准备&#xff0c;下面启程别就来给您介绍一下建设…

从入门到精通:接口自动化测试中加密、解密和Sign签名的完整指南

【专业解读】接口自动化测试安全机制剖析&#xff1a;加密、解密和sign签名技术原理与应用&#xff01; 目录 摘要&#xff1a; 1. 加密 2. 解密 3. Sign签名 4. 示例 摘要&#xff1a; 在进行接口自动化测试时&#xff0c;加密、解密和sign签名是非常重要的步骤。这些过…

基于单片机的数字频率计设计

数字频率计概述 数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号&#xff0c;方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试…

基于AT89C52单片机的温度检测设计与仿真

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87770153 源码获取 主要内容: 本设计是基于52系列的单片机进行的设计,可以完成温度的测控,可以实现实际温度与设定温度区域的比较,并在LED上相应的显示结果。设计过程在硬…

算法 DAY57 动态规划13 647. 回文子串 516.最长回文子序列

647. 回文子串 暴力解法&#xff1a;两层for循环&#xff0c;再加一个判断是否是回文子串&#xff0c;时间复杂度O(n3) 五部曲 1、 判断一个子字符串&#xff08;字符串的下表范围[i,j]&#xff09;是否回文&#xff0c;依赖于&#xff0c;子字符串&#xff08;下表范围[i 1,…

CLion安装(详细步骤+截图)

目录 一、CLion-2021.1.3.exe 下载 二、运行环境mingw-w64压缩包下载 三、 安装插件 ---- ide-eval-resetter-2.1.13压缩包下载 一、CLion-2021.1.3.exe 下载 Other Versions - CLion (jetbrains.com) 1、下载 2、更改路径 &#xff08;不要放在含有中文的路径下&a…

【Java面试】Java基础-集合相关知识点(1)

文章目录 1. 集合有哪些类&#xff1f;2. ArrayList3. Map主要有哪些类&#xff1f; 容器主要包括 Collection 和 Map 两种&#xff0c;Collection 存储着对象的集合&#xff0c;而 Map 存储着键值对(两个对象)的映射表。 1. 集合有哪些类&#xff1f; 集合是一组相关对象的容…

ThreadLocal底层源码解析

线程隔离&#xff0c;保证多线性访问安全 每个线程拿到的值私有&#xff0c;相互不干扰 ThreadLocal是JDK包提供的&#xff0c;它提供线程本地变量&#xff0c;如果创建一乐ThreadLocal变量&#xff0c;那么访问这个变量的每个线程都会有这个变量的一个副本&#xff0c;在实际…

跳槽? 我只想多赚点罢了

前言 五一过后也就也就意味着今年的金三银四跳槽季正式结束了&#xff0c;不知道大家是否拿到了offer&#xff0c;面对金三银四的招聘旺季&#xff0c;如果没有精心准备那笔者认为那是对自己不负责任&#xff1b;就我们测试员来说&#xff0c;多数的公司总体上面试都是以自我介…

表的存储原理(数据库)

目录 一、内部存储概述 二、 数据行&#xff08;记录&#xff09;结构 1、定长记录 2、变长记录 一、内部存储概述 表是有关某个特定实例的数据集合&#xff0c;在关系数据库中处于核心地位。 创建一个表&#xff0c;就会有一行或多行插入到用来管理这个表的多个系统表里。…

如何压缩照片大小不大于200k

如何压缩照片大小不大于200k&#xff1f;有时候需要压缩照片大小不大于200k是因为在一些场景下&#xff0c;上传或传输大文件会受到限制&#xff0c;例如通过电子邮件发送、上传到云存储空间等等。在这种情况下&#xff0c;压缩照片可以让图片更容易地传输和分享&#xff0c;并…

基于simulink进行音频波束成形系统的多核仿真

一、前言 此示例展示了 Simulink中的音频波束成形系统仿真模型如何使用数据流域提高性能。它使用 Simulink 中的数据流域自动将通信系统的数据驱动部分划分为多个线程&#xff0c;从而通过在桌面的多个内核上执行模拟来提高仿真的性能。 二、介绍 数据流执行域允许您在计算密集…