R语言-南丁格尔玫瑰图

article/2025/11/1 10:14:38

简介

南丁格尔玫瑰图(Nightingale rose chart)即极坐标柱形图,是一种圆形的柱形图。由弗罗伦斯-南丁格尔所发明,普通柱形图的坐标系是直角坐标系,而南丁格尔玫瑰图的坐标系是极坐标系。南丁格尔玫瑰图是在极坐标下绘制的柱形图,使用圆弧的半径长短表示数据的大小。美国各数据类别或间隔在径向图上划分为相等分段,也就是极坐标系的角度相等,而每个分段延伸多远(与其所代表的数值成正比)取决于极坐标轴线。因此,从极坐标延伸出来的每一环可以当做标尺来使用,用来表示分段的大小并代表数值的高低。

特点
(1)由于半径和面积是平方的关系,南丁格尔玫瑰图将会将数据的比例夸大,所以适合用于比较数值大小接近的数据。
(2)由于圆形有周期特性,所以南丁格尔玫瑰图特别适用于X轴变量是环状周期型序数的情况,比如月份、星期、日期等,或者直接用于展示分类序数的数据。
(3)南丁格尔玫瑰图是将数据以圆形排列展示,而柱形图是将数据横向排列展示。所以在数据量较多时,使用南丁格尔玫瑰图更能够节省绘图空间。
所以南丁格尔玫瑰图的主要缺点在于面积较大的外围部分更加引人注意,这跟数值的增量成反比。

操作
在R语言中,从直角坐标系转换到极坐标系,只需要添加一条坐标系的语句:coord_polar(theta='x’start=0),其中theta表示将X轴或Y轴映射到极坐标系。

实例——南丁格尔玫瑰图

南丁格尔玫瑰图,做出来简单,但是要美化起来,算得上是艺术了。所幸,我们有示范的案例:
链接

先上一下自己做的图:

作图:应用到的所有软件包括:R、Excel、PPT、Ps。这4个是在作图中涉及到的所有的软件,主要的只是R和PPT,其它的都是辅助用。并且这张图不是直接生成的,而是多个元素的集合,而主要的元素是通过不同的方式获得。可以看到图中的几个元素:玫瑰图主体、左上角文字、右上角文字、每个柱子的标签。

第一步:

收集整理数据:
在这里插入图片描述

4列数据,观测的数量就是当天的数据。前两个可以在各种官方网站获得;第三列是玫瑰图中每个玫瑰瓣的颜色,如果对自己绘图审美有信心,可以自行配色,上图的数据是通过Ps在示例中提取出的每个瓣对应的16进制颜色;第四列是通过Ps测量的每个瓣的长度。

第二步:R语言绘图

数据准备好之后,我们就在R中绘制玫瑰图主体:


library(ggplot2)
my_data <- read.csv('玫瑰图数据.csv',header = T, stringsAsFactors = F)colour <- as.vector(t(my_data$RGB))ggplot(my_data,aes(x=国家,y=长度))+geom_bar(aes(fill=factor(长度)),width=1,stat = 'identity')+scale_fill_manual(values = colour)+coord_polar(theta = 'x',start = 0,direction = 1)+ylim(-0.5,12)+theme(panel.grid=element_blank(),panel.background=element_blank(),axis.text=element_blank(),axis.ticks=element_blank(),axis.title=element_blank(),legend.position = 'none')

作图的思路就是先做出柱状图,然后换算极坐标系即可。上述代码geom_bar()函数生成柱状图,scale_fill_manual()函数根据我们提取的颜色映射到每根柱子上,coord_polar()函数调整极坐标系,ylim()函数是为了图形中间的空格,theme()函数作用于主题。其中的参数就不谈了,之前的图形语法里有详细介绍。
在这里插入图片描述
这是做出来单独玫瑰图元素的样子。

第三步:组合元素

组合元素主要就是将上面说的玫瑰图主体、左上角文字、右上角文字、每个柱子的标签组合起来,这就有很多的软件可以实现了,PPT、Ps、Illustrator 等,最轻巧的就是PPT了,添加文本框,调整位置就行,没什么好方法,就是硬肝,因为图上的文字排列没有规律可言,调整就是了。中奖的两个半透明圆圈就是插入两个性状,然后调整透明度。
将图中的多个元素调整调整位置即可:


http://chatgpt.dhexx.cn/article/099EBN0Z.shtml

相关文章

Tableau——制作南丁格尔玫瑰图

一、适用场景: 需要计算总费用或金额的各个部分构成比例的情况 二、简介&#xff1a; 南丁格尔玫瑰图Nightingale rose diagram是弗罗伦斯南丁格尔所发明的&#xff0c;又名为极区图&#xff0c;是一种圆形的直方图。 如果因为组成部分较多而导致饼图分区多且密集&#xff0…

Tableau 南丁格尔玫瑰图

简介:南丁格尔玫瑰图是弗罗伦斯南丁格尔所发明的。又名为极区图。是一种圆形的直方图。 应用场景&#xff1a;可以看到比饼图更加详细地信息。 参考书目&#xff1a;跟阿达学 Tableau 数据可视化 操作步骤&#xff1a; 以示例-超市为例 1、导出相关数据&#xff08;处理数…

南丁格尔玫瑰图

1、绘制南丁格尔玫瑰图的步骤&#xff1a; 数据准备工作&#xff1a;准备好角度数值和半径数值。 建立画布&#xff0c;并将直角坐标转化为极坐标。并对极坐标进行一定的设置。 使用bar函数进行绘图。 对图形进行美化处理。 2、上代码 import numpy as np import pandas a…

❤echarts 南丁格尔玫瑰图的使用以及南丁格尔玫瑰图详细配置

❤echarts 南丁格尔玫瑰图的使用以及南丁格尔玫瑰图详细配置 1、认识 使用可以参考之前文章&#xff0c;会使用直接跳过1 引入官网的南丁格尔玫瑰图效果如下&#xff1a; 使用函数配置分为三个部分&#xff1a;初始化> 设置配置> 地图使用参数 配置代码如下 option…

【Python】数据分析:如何使用matplotlib和pyecharts制作南丁格尔玫瑰图

目录 一、介绍 二、相关库 三、数据准备 四、pyecahrts代码实现 五、matplotlib代码实现 原文作者&#xff1a;我辈理想版权声明&#xff1a;文章原创&#xff0c;转载时请务必加上[原文超链接](https://blog.csdn.net/qq_15028721?spm1010.2135.3001.5421)、作者信息和本…

南丁格尔图(饼状)

今天来做一个南丁格尔图&#xff0c;参考官网&#xff0c;一会会把源码放上去&#xff0c;注释和详细的解释也会放在最下面供参考理解 基于VScode开发&#xff0c;我用的是子组件不是APP.vue code&#xff1a; <template> <div id"main" :style"{width…

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

南丁格尔玫瑰图 南丁格尔玫瑰图又名鸡冠花图、极坐标区域图&#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协议的工作原理 数据链路层 主要…