南丁格尔图(饼状)

article/2025/11/1 10:28:42

今天来做一个南丁格尔图,参考官网,一会会把源码放上去,注释和详细的解释也会放在最下面供参考理解

基于VScode开发,我用的是子组件不是APP.vue

code:

<template>
<div id="main" :style="{width:'1000px',height:'600px'}"></div>
</template>
<script>
export default {
name: "demo14",
data() {
return {};
},
mounted() {
let Mychart = this.$echarts.init(document.getElementById("main"));
Mychart.setOption({
series: [
{
name: "访问来源",
type: "pie",
radius: "55%",
data: [
{ value: 235, name: "视频广告" },
{ value: 274, name: "联盟广告" },
{ value: 310, name: "邮件营销" },
{ value: 335, name: "直接访问" },
{ value: 400, name: "搜索引擎" }
]
}
],
roseType: "angle",

// itemStyle: {
// // 阴影的大小
// shadowBlur: 200,
// // 阴影水平方向上的偏移
// shadowOffsetX: 0,
// // 阴影垂直方向上的偏移
// shadowOffsetY: 0,
// // 阴影颜色
// shadowColor: "rgba(0, 0, 0, 0.5)"
// },

itemStyle: {
emphasis: {
shadowBlur: 200,
shadowColor: "rgba(0, 0, 0, 0.5)"
},
color: "#c23531",
shadowBlur: 200,
shadowColor: "rgba(0, 0, 0, 0.5)"
},
backgroundColor: "#2c343c",
textStyle: {
color: "rgba(255, 255, 255, 0.3)"
},
labelLine: {
lineStyle: {
color: "rgba(255, 255, 255, 0.3)"
}
},

//这个可以在上面设置,是一样的效果的
// itemStyle: {
// // 设置扇形的颜色
// color: '#c23531',
// shadowBlur: 200,
// shadowColor: 'rgba(0, 0, 0, 0.5)'
// },
data: [
{
value: 400,
name: "搜索引擎",
itemStyle: {
color: "#c23531"
}
}
],
visualMap: {
// 不显示 visualMap 组件,只用于明暗度的映射
show: false,
// 映射的最小值为 80
min: 80,
// 映射的最大值为 600
max: 600,
inRange: {
// 明暗度的范围是 0 到 1
colorLightness: [0, 1]
}
}
});
}
};
</script>
附上效果图:

以上就是南丁格尔图了

再加上官网的步骤:

这次要画的是饼图,饼图主要是通过扇形的弧度表现不同类目的数据在总和中的占比,它的数据格式比柱状图更简单,只有一维的数值,不需要给类目。因为不在直角坐标系上,所以也不需要xAxisyAxis

myChart.setOption({ series : [ { name: '访问来源', type: 'pie', radius: '55%', data:[ {value:235, name:'视频广告'}, {value:274, name:'联盟广告'}, {value:310, name:'邮件营销'}, {value:335, name:'直接访问'}, {value:400, name:'搜索引擎'} ] } ] })

上面代码就能画出一个简单的饼图:

这里data属性值不像入门教程里那样每一项都是单个数值,而是一个包含 name 和 value 属性的对象,ECharts 中的数据项都是既可以只设成数值,也可以设成一个包含有名称、该数据图形的样式配置、标签配置的对象,具体见 data 文档。

ECharts 中的饼图也支持通过设置 roseType 显示成南丁格尔图。

roseType: 'angle'

南丁格尔图会通过半径表示数据的大小。

阴影的配置

ECharts 中有一些通用的样式,诸如阴影、透明度、颜色、边框颜色、边框宽度等,这些样式一般都会在系列的 itemStyle 里设置。例如阴影的样式可以通过下面几个配置项设置:

itemStyle: { // 阴影的大小 shadowBlur: 200, // 阴影水平方向上的偏移 shadowOffsetX: 0, // 阴影垂直方向上的偏移 shadowOffsetY: 0, // 阴影颜色 shadowColor: 'rgba(0, 0, 0, 0.5)' }

加上阴影后的效果:

itemStyleemphasis是鼠标 hover 时候的高亮样式。这个示例里是正常的样式下加阴影,但是可能更多的时候是 hover 的时候通过阴影突出。

itemStyle: { emphasis: { shadowBlur: 200, shadowColor: 'rgba(0, 0, 0, 0.5)' } }

 

深色背景和浅色标签

现在我们需要把整个主题改成开始的示例中那样的深色主题,这就需要改背景色和文本颜色。

背景色是全局的,所以直接在 option 下设置 backgroundColor

setOption({backgroundColor: '#2c343c' })

文本的样式可以设置全局的 textStyle。

setOption({textStyle: { color: 'rgba(255, 255, 255, 0.3)' } })

也可以每个系列分别设置,每个系列的文本设置在 label.textStyle。

label: { textStyle: { color: 'rgba(255, 255, 255, 0.3)' } }

饼图的话还要将标签的视觉引导线的颜色设为浅色。

labelLine: { lineStyle: { color: 'rgba(255, 255, 255, 0.3)' } }

如下:

 

设置扇形的颜色

扇形的颜色也是在 itemStyle 中设置:

itemStyle: { // 设置扇形的颜色 color: '#c23531', shadowBlur: 200, shadowColor: 'rgba(0, 0, 0, 0.5)' }

跟我们要实现的效果已经挺像了,除了每个扇形的颜色,效果中阴影下面的扇形颜色更深,有种光线被遮住的感觉,从而会出现层次感和空间感。

ECharts 中每个扇形颜色的可以通过分别设置 data 下的数据项实现。

data: [{ value:400, name:'搜索引擎', itemStyle: { color: '#c23531' } }, ...]

但是这次因为只有明暗度的变化,所以有一种更快捷的方式是通过 visualMap 组件将数值的大小映射到明暗度。

visualMap: { // 不显示 visualMap 组件,只用于明暗度的映射 show: false, // 映射的最小值为 80 min: 80, // 映射的最大值为 600 max: 600, inRange: { // 明暗度的范围是 0 到 1 colorLightness: [0, 1] } }

 

以上就是我的开发过程和官方解释了,希望对您有帮助,一起学习进步

 

 

 

转载于:https://www.cnblogs.com/huchong-bk/p/11399737.html


http://chatgpt.dhexx.cn/article/HiwEpCiU.shtml

相关文章

[数据可视化] 南丁格尔玫瑰图

南丁格尔玫瑰图 南丁格尔玫瑰图又名鸡冠花图、极坐标区域图&#xff0c;是南丁格尔在克里米亚战争期间提交的一份关于士兵死伤报告时发明的一种图表&#xff0c;以表达军医院季节性的死亡率&#xff0c;从整体上来看: 这张图是用来说明并比较战地医院伤患因各种原因死亡的人数&…

数据分析软件图表详解-南丁格尔图的故事

DataViz数据可视化分析工具中的南丁格尔图也叫南丁格尔玫瑰图、鸡冠花图或极坐标区域图。是由弗洛伦斯南丁格尔发明的。南丁格尔是英国护士和统计学家&#xff0c;出生于意大利的一个英国上流社会的家庭。虽然出身贵族南丁格尔却选择了完全不同的人生道路&#xff0c;选择了当时…

网络层协议和数据链路层协议

1. IP 协议 IP指网际互连协议&#xff0c;Internet Protocol的缩写&#xff0c;是TCP/IP体系中的网络层协议。IP位于TCP/IP模型的网络层(相当于OSI模型的网络层)&#xff0c;它可以向传输层提供各种协议的信息&#xff0c;例如TCP、UDP等&#xff1b;对下可将IP信息包放到链路层…

数据链路层协议(1)

目录 1.获取IP地址 2.打开浏览器&#xff0c;在浏览器中的地址栏上输入需要访问的服务器的URL&#xff08;资源定位符&#xff09; 3.网关路由收到DNS请求报文后&#xff0c;将先查看数据帧的二层封装&#xff0c;确认该数据帧是给自己的&#xff0c;则将解二层封装看三层封…

【网络】-- 数据链路层

应用层&#xff08;http、https&#xff09;&#xff1a; 数据的使用。传输层&#xff08;UDP、TCP&#xff09;&#xff1a;网络通讯的细节&#xff0c;将数据可靠的从A主机跨网络送到B主机。网络层&#xff08;IP&#xff09;&#xff1a;提供一种能力&#xff0c;将数据从A主…

数据链路层重点协议

目录 1.以太网 2.MTU 3.ARP与RARP协议 1.以太网 1.1 概念 "以太网" 不是一种具体的网络&#xff0c;而是一种技术标准&#xff1b;既包含了数据链路层的内容&#xff0c;也包含了 一些物理层的内容。例如&#xff1a;规定了网络拓扑结构&#xff0c;访问控制方式…

计算机网络基础知识--数据链路层协议

目录 使用点对点信道的数据链路层 数据链路层的三个基本问题 封装成帧 透明传输 差错检测 点对点协议PPP PPP协议的组成 PPP帧的格式 数据链路层的协议数据单元是帧。数据链路层把网络层交下来的数据构成帧发送到链路上&#xff0c;以及把接收到的帧中的数据取出并上交网…

数据链路层之以太网协议

在 IP 数据包交付的过程中&#xff0c;在数据链路层会对数据包进行添加报头信息。以太网协议就是数据链路层的一个重要协议。这样说其实不太准确&#xff0c;因为以太网协议是一个规定数据链路层及物理层的协议&#xff0c;不能说它是数据链路层的一个协议。 以太网帧 以太网…

【计算机网络】数据链路层重点协议

目录 1. 认识以太网 1.1 以太网帧格式 2. 认识MTU 2.1 MTU对IP协议的影响 2.2 MTU对UDP协议的影响 2.3 MTU对TCP协议的影响 3. ARP协议 3.1 ARP协议的作用 3.2 ARP协议的工作流程 1. 认识以太网 以太网是一种局域网的技术规范&#xff0c;而不是一种具体的网络&am…

数据链路层协议(2)

目录 一.网络类型---根据数据链路层运行的协议进行划分 二.数据链路层运行的协议 1.HDLC---高级数据链路控制协议 2.PPP---点到点协议 &#xff08;1&#xff09;链路建立阶段---LCP&#xff08;链路控制协议&#xff09;建立 &#xff08;2&#xff09;认证阶段---PAP&…

数据链路层协议封装

常用的两种数据链路层帧&#xff1a; 以太网帧和PPP帧的区别&#xff1a; 最大的区别&#xff0c;以太网是一个广播链路&#xff0c;一个广播域可能有多个设备&#xff0c;所以以太网帧有MAC地址&#xff0c;为了在整个以太网中确定一个唯一确定到底哪个设备进行接收&#xff0…

网络层IP协议与数据链路层以太网协议

文章目录 一、IP协议IP地址地址管理路由选择DNS 二、以太网协议以太网帧MTU 一、IP协议 IP协议是我们网络层的代表协议&#xff0c;今天我们就来一起学习一下吧&#xff0c;我们这里介绍的主要是IPv4协议。 版本&#xff1a;指定IP协议的版本&#xff0c;版本的取值只有4&…

TCP/IP协议详解篇三(链路层)

文章目录 数据链路层(DataLinkLayer)点对点信道数据链路层通信时的主要步骤三个基本问题封装成帧透明传输差错检测 点对点PPP协议PPP协议满足的需求PPP协议的组成PPP协议的帧格式透明传输字符填充法零比特填充法 PPP协议的工作过程 局域网的数据链路层局域网的拓扑结构媒体共享…

数据链路层-------以太网协议

这里写目录标题 数据链路层点对点协议&#xff08;PPP协议&#xff09;以太网协议认识以太网以太网帧格式认识MAC地址对比理解MAC地址和IP地址认识MTUMTU对上层协议的影响查看硬件地址和MTU ARP协议(地址解析协议)ARP协议的作用ARP数据报格式ARP协议的工作原理 数据链路层 主要…

【网络协议详解】——数据链路层协议(学习笔记)

&#x1f4d6; 前言&#xff1a;数据链路层是 OSI 模型中的第二层&#xff0c;位于物理层之上&#xff0c;是通信网络中的重要组成部分之一。数据链路层协议负责将网络层传输的数据分组封装成帧&#xff0c;传输到物理层&#xff0c;并通过物理介质进行传输。同时&#xff0c;数…

【网络原理】数据链路层 和 应用层 重点协议

✨个人主页&#xff1a;bit me&#x1f447; ✨当前专栏&#xff1a;Java EE初阶&#x1f447; 目 录 &#x1f340;一. 以太网协议&#xff08;数据链路层&#xff09;&#x1f33b;二. DNS &#xff08;应用层&#xff09;&#x1f33f;三. 网络原理知识面试总结 &#x1f34…

数据链路层六大协议详解

数据链路层六大协议详解 一些假设1.无限制的单工协议(乌托邦协议)五点假设发送方接收方接受方 2.单工停-等协议3.有噪声信道的单工协议 本文图片截取自 学堂在线-华南理工大学的计算机网络课程 一些假设 物理层、数据链路层和网络层各自是独立的处理进程机器A希望向B发送的是…

数据链路层相关协议

网络类型 ---根据数据链路层协议进行划分 MA ---多点接入网络&#xff08;BMA广播型&#xff0c;NBMA非广播型&#xff09;P2P---点到点的网络 以太网协议---需要使用MAC地址对不同的主机设备进行区分和标识 ---主要因为利用以太网组件的二层网络可以包含&#xff08;两个和两…

网络安全——数据链路层安全协议

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.数据链路层安全协议简介 1.数据链路安全性 二.局域网数据链路层协议 1…

数据链路层协议

一、数据链路层概述 1.数据链路层的功能&#xff1a; 1&#xff09;链路管理&#xff1a;负责数据链路的建立、维持和释放&#xff0c;主要用于面向连接的服务&#xff1b; 2&#xff09;帧同步&#xff1a;接收方确定收到的比特流中一帧的开始位置和结束位置&#xff1b; …