当前位置: 首页 > news >正文

20-R 绘图 - 饼图

R 绘图 - 饼图

R 语言提供来大量的库来实现绘图功能。

饼图,或称饼状图,是一个划分为几个扇形的圆形统计图表,用于描述量、频率或百分比之间的相对关系。

R 语言使用 pie() 函数来实现饼图,语法格式如下:

pie(x, labels = names(x), edges = 200, radius = 0.8,clockwise = FALSE, init.angle = if(clockwise) 90 else 0,density = NULL, angle = 45, col = NULL, border = NULL,lty = NULL, main = NULL, …)
  • x: 数值向量,表示每个扇形的面积。
  • labels: 字符型向量,表示各扇形面积标签。
  • edges: 这个参数用处不大,指的是多边形的边数(圆的轮廓类似很多边的多边形)。
  • radius: 饼图的半径。
  • main: 饼图的标题。
  • clockwise: 是一个逻辑值,用来指示饼图各个切片是否按顺时针做出分割。
  • angle: 设置底纹的斜率。
  • density: 底纹的密度。默认值为 NULL。
  • col: 是表示每个扇形的颜色,相当于调色板。

绘制饼状图要做这些准备:反映数量的向量、各部分的标签、各部分的颜色(可选)。

接下来我们绘制一个简单的饼图:

实例

# 数据准备
info <- c(8, 4, 2, 1)
# 命名
names <- c("Chinese", "English", "Sport", "Music")
# 涂色(可选)
cols <- c("#ED1C24","#22B14C","#FFC90E","#3f48CC")
# 绘图
pie(info, labels=names, col=cols)

执行绘图程序,会在当前目录下生存一个 PDF 文件(Rplots.pdf),打开文件可以看到图形效果如下:

在这里插入图片描述

我们也可以使用 png()、jpeg()、bmp() 函数设置输出的文件格式为图片:

实例

# 数据准备
info <- c(8, 4, 2, 1)
# 命名
names <- c("Chinese", "English", "Sport", "Music")
# 涂色(可选)
cols <- c("#ED1C24","#22B14C","#FFC90E","#3f48CC")
# 设置输出图片
png(file='scores-pie.png', height=300, width=300)
# 绘图
pie(info, labels=names, col=cols)

执行绘图程序,会在当前目录下生存一个 png文件(scores-pie.png),打开文件可以看到图形效果如下:

在这里插入图片描述

接下来我们给饼图设置标题,中文字体需要设置字体参数 family=‘GB1’,也可以自己设置字体库。

实例

# 数据准备
info <- c(8, 4, 2, 1)
# 命名
names <- c("Chinese", "English", "Sport", "Music")
# 涂色(可选)
cols <- c("#ED1C24","#22B14C","#FFC90E","#3f48CC")
# 设置输出图片
png(file='scores-pie.png', height=500, width=500)
# 计算百分比
piepercent <- paste(round(100*info/sum(info)), "%")
# 绘图
pie(info, labels=piepercent, main = "成绩占比分析", col=cols, family='GB1')
# 添加颜色样本标注
legend("topright", names, cex=0.8, fill=cols)

在这里插入图片描述

如果要绘制 3D 的饼图,可以使用 plotrix 库的 pie3D() 函数,使用前我们需要先安装:

install.packages("plotrix", repos = "https://mirrors.ustc.edu.cn/CRAN/")

实例

# 载入 plotrix
library(plotrix)
# 数据准备
info <- c(8, 4, 2, 1)
# 命名
names <- c("Chinese", "English", "Sport", "Music")
# 涂色(可选)
cols <- c("#ED1C24","#22B14C","#FFC90E","#3f48CC")
# 设置输出图片
png(file='scores-pie.png', height=500, width=500)
# 计算百分比
piepercent <- paste(round(100*info/sum(info)), "%")
# 绘制 3D 图,family 要设置你系统支持的中文字体库
pie3D(info,labels = names,explode = 0.1, main = "3D 图",family = "GB1")
# 添加颜色样本标注
legend("topright", names, cex=0.8, fill=cols)

生成图片如下所示:

在这里插入图片描述

相关文章:

20-R 绘图 - 饼图

R 绘图 - 饼图 R 语言提供来大量的库来实现绘图功能。 饼图&#xff0c;或称饼状图&#xff0c;是一个划分为几个扇形的圆形统计图表&#xff0c;用于描述量、频率或百分比之间的相对关系。 R 语言使用 pie() 函数来实现饼图&#xff0c;语法格式如下&#xff1a; pie(x, l…...

【LLM】R1复现项目(SimpleRL、OpenR1、LogitRL、TinyZero)持续更新

note &#xff08;1&#xff09;未来的工作需亟待解决&#xff1a; 支持大规模 RL 训练&#xff08;PPO、GRPO 等&#xff09;的开源基础框架用于稳定训练的 GRPO 训练超参的自动化调优RL 训练数据的配比&#xff08;难度、领域、任务等&#xff09;基于 Instruct 模型训练 R…...

Linux 内核网络设备驱动编程:私有协议支持

一、struct net_device的通用性与私有协议的使用 struct net_device是Linux内核中用于描述网络设备的核心数据结构,它不仅限于TCP/IP协议,还可以用于支持各种类型的网络协议,包括私有协议。其原因如下: 协议无关性:struct net_device的设计是通用的,它本身并不依赖于任何…...

20241130 RocketMQ本机安装与SpringBoot整合

目录 一、RocketMQ简介 ???1.1、核心概念 ???1.2、应用场景 ???1.3、架构设计 2、RocketMQ Server安装 3、RocketMQ可视化控制台安装与使用 4、SpringBoot整合RocketMQ实现消息发送和接收? ? ? ? ? 4.1、添加maven依赖 ???4.2、yaml配置 ???4.3、…...

FFmpeg进化论:从av_register_all手动注册到编译期自动加载的技术跃迁

介绍 音视频开发都知道 FFmpeg,因此对 av_register_all 这个 API 都很熟悉,但ffmpeg 4.0 版本开始就已经废弃了,是旧版本中用于全局初始化的重要接口。 基本功能 核心作用:av_register_all() 用于注册所有封装器(muxer)、解封装器(demuxer)和协议处理器(protocol),…...

Http升级为Https - 开发/测试服环境

1.应用场景 主要用于开发/测试服环境将http升级为https, 防止前端web(浏览器)出现Mixed Content报错; 2.学习/操作 1.文档阅读 deepseek 问答; 2.整理输出 报错信息: Mixed Content: The page at <URL> was loaded over HTTPS, but requested an insecure XMLHttpRequ…...

C语言预编译

大家好&#xff0c;这里是小编的博客频道 小编的博客&#xff1a;就爱学编程 很高兴在CSDN这个大家庭与大家相识&#xff0c;希望能在这里与大家共同进步&#xff0c;共同收获更好的自己&#xff01;&#xff01;&#xff01; 本文目录 引言正文一、预处理的作用与流程&#xf…...

算法刷题-字符串-151.反转单词

题目 给一串字符串&#xff0c;里面有若干单词&#xff0c;以空格界定单词的结束&#xff0c;翻转其中的单词 输入&#xff1a;s " hello world " 输出&#xff1a;“world hello” 需要注意的是&#xff0c;给定的字符串可能存在头空格、尾空格以及中间的空格数量…...

单片机裸机编程:状态机与其他高效编程框架

在单片机裸机编程中&#xff0c;状态机是一种非常强大的工具&#xff0c;能够有效管理复杂的逻辑和任务切换。除了状态机&#xff0c;还有其他几种编程模式可以在不使用 RTOS 的情况下实现高效的程序设计。以下是一些常见的方法&#xff1a; 1. 状态机编程 状态机通过定义系统…...

图表控件Aspose.Diagram入门教程:使用 Python 将 VSDX 转换为 PDF

将VSDX转换为PDF可让用户轻松共享图表。PDF 文件保留原始文档的布局和设计。它们广泛用于演示文稿、报告和文档。在这篇博文中&#xff0c;我们将探讨如何在 Python 中将 VSDX 转换为 PDF。 本文涵盖以下主题&#xff1a; Python VSDX 到 PDF 转换器库使用 Python 将 VSDX 转…...

DPVS-1:编译安装DPVS (ubuntu22.04)

操作系统 rootubuntu22:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy rootubuntu22:~# 前置软件准备 apt install git apt install meson apt install gcc ap…...

即将发布书籍 - Yocto项目实战教程:高效定制嵌入式Linux系统

以下这本书《Yocto项目实战教程&#xff1a;高效定制嵌入式Linux系统》即将发布&#xff0c;现在请哪位大佬出山写一个序或者推荐&#xff0c;有兴趣的大佬&#xff0c;请联系我&#xff01; Git仓库地址&#xff1a; https://github.com/jerrysundev/Yocto-Project-Book.git …...

Git 常用指令及其说明

配置相关 # 配置全局用户名 git config --global user.name "YourUsername"# 配置全局邮箱 git config --global user.email "your.emailexample.com"说明&#xff1a;这两条命令用于设置 Git 全局的用户名和邮箱&#xff0c;在提交代码时&#xff0c;这些…...

nginx代理后502

直接访问 ​https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions正常 使用nginx代理后访问出现502 server {listen 9999;server_name 172.21.3.78;location ^~ /compatible-mode {proxy_pass https://dashscope.aliyuncs.com;}location / {proxy_pass…...

大模型WebUI:Gradio全解12——LangChain原理及其agent构建Gradio(1)

大模型WebUI:Gradio全解12——LangChain原理及其agent构建Gradio(1) 前言本篇摘要12. LangChain原理及其agent构建Gradio12.1 LangChain概念及优势分析12.1.1 概念12.1.2 标准化组件接口1. 示例:聊天模型2. 示例:检索器12.1.3 编排组件12.1.4 便于部署12.1.5 可观测性和评…...

【Unity】鱼群效果模拟

鱼群效果模拟 文章目录 鱼群效果模拟Boid算法实现方式version1_CPUversion2_GPUversion3_Multilaterationversion4_Bitonic_Sorting &#xff08;GPU友好&#xff09;version5_Skinning &#xff08;TODO&#xff09; 细节项优化项参考链接 Boid算法 Boid算法是一种模拟群体行…...

PHP入门基础学习五(函数1)

函数 一、概念 1、什么是函数? 函数:封装一段用于完成特定功能的代码 当使用一个函数时,只需关心函数的参数和返回值,就可以完成一个特定的功能 2、php中的函数 PHP 的真正威力源自于它的函数,PHP 中提供了超过 1000 个内建的函数。 php函数分为: 系统内部函数和自…...

微信小程序 - 页面跳转(wx.navigateTo、wx.redirectTo、wx.switchTab、wx.reLaunch)

API 跳转 1、wx.navigateTo &#xff08;1&#xff09;基本介绍 功能&#xff1a;保留当前页面&#xff0c;跳转到应用内的某个页面&#xff0c;使用该方法跳转后可以通过返回按钮返回到原页面 使用场景&#xff1a;适用于需要保留当前页面状态&#xff0c;后续还需返回的情…...

Typora的Github主题美化

[!note] Typora的Github主题进行一些自己喜欢的修改&#xff0c;主要包括&#xff1a;字体、代码块、表格样式 美化前&#xff1a; 美化后&#xff1a; 一、字体更换 之前便看上了「中文网字计划」的「朱雀仿宋」字体&#xff0c;于是一直想更换字体&#xff0c;奈何自己拖延症…...

2.3 变量

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 变量是用来存放某个值的数据&#xff0c;它可以表示一个数字、一个字符串、一个结构、一个类等。变量包含名称、类型和值。在代码中…...

Cesium弹窗避坑指南:解决Popup随相机移动闪烁、位置偏移的5个常见问题

Cesium弹窗避坑指南&#xff1a;解决Popup随相机移动闪烁、位置偏移的5个常见问题 在三维地理信息系统的开发中&#xff0c;Cesium作为一款强大的WebGL地球引擎&#xff0c;为开发者提供了丰富的可视化能力。其中&#xff0c;弹窗(Popup)作为信息展示的重要交互组件&#xff0c…...

郑州小语种培训机构选择指南~

随着高考小语种政策普及、海外升学需求增长以及职场多语言能力要求提升&#xff0c;郑州地区小语种培训市场快速发展。本文从行业现状、课程体系、师资标准、教学模式、通过率指标等维度&#xff0c;对郑州小语种培训进行客观分析&#xff0c;并给出面向学生与家长的非营销类选…...

POC-bomber漏洞分类指南:框架、中间件、端口服务全覆盖

POC-bomber漏洞分类指南&#xff1a;框架、中间件、端口服务全覆盖 【免费下载链接】POC-bomber 利用大量高威胁poc/exp快速获取目标权限&#xff0c;用于渗透和红队快速打点 项目地址: https://gitcode.com/gh_mirrors/po/POC-bomber POC-bomber是一款功能强大的漏洞检…...

【生成式编程安全生死线】:从GitHub Copilot到CodeWhisperer,必须启用的4层静态+动态校验机制

第一章&#xff1a;智能代码生成代码安全性检查 2026奇点智能技术大会(https://ml-summit.org) 智能代码生成工具&#xff08;如Copilot、CodeWhisperer、Tabnine&#xff09;在提升开发效率的同时&#xff0c;可能引入未经验证的安全隐患——包括硬编码密钥、不安全的反序列化…...

SuperMap iClient3D for WebGL 倾斜摄影压平与批量模型自动化布设

1. 倾斜摄影压平技术入门指南 第一次接触倾斜摄影压平技术时&#xff0c;我也被这个专业名词唬住了。其实说白了&#xff0c;就是把倾斜摄影模型中的某个区域"拍平"&#xff0c;就像用熨斗把衣服熨平一样简单。在城市规划项目中&#xff0c;这个功能特别实用&#xf…...

终极指南:使用Jsxer快速解密Adobe JSXBIN二进制脚本文件

终极指南&#xff1a;使用Jsxer快速解密Adobe JSXBIN二进制脚本文件 【免费下载链接】jsxer A fast and accurate JSXBIN decompiler. 项目地址: https://gitcode.com/gh_mirrors/js/jsxer 你是否曾经遇到过以JSXBIN开头的Adobe ExtendScript二进制文件&#xff1f;这些…...

下载数据集

在 Ubuntu 上下载 Hugging Face 数据集&#xff0c;我推荐使用 huggingface-cli 这个官方工具&#xff0c;它稳定且支持断点续传。国内用户配置 hf-mirror.com 镜像站后&#xff0c;下载速度会快很多。下面是完整的命令步骤&#xff0c;你可以逐条复制执行。### &#x1f427; …...

LongMemEval 基准实测!Awareness 长时记忆能力登顶

长时交互记忆是 AI 智能体从 “玩具” 走向 “生产力工具” 的核心门槛。LongMemEval 作为 ICLR 2025 收录的权威基准&#xff0c;专注评估多会话、跨时序、知识更新等五大记忆能力。本文基于 LongMemEval 完整测试集&#xff0c;对 Awareness 进行全维度 Benchmark&#xff0c…...

**发散创新:基于Python与ROS的机器人运动控制实战解析**在现代机器人系统开发中,*

发散创新&#xff1a;基于Python与ROS的机器人运动控制实战解析 在现代机器人系统开发中&#xff0c;运动控制是实现精准动作的核心环节。本文将以 Python ROS&#xff08;Robot Operating System&#xff09; 为技术栈&#xff0c;深入剖析如何通过编程语言完成对差速驱动机器…...

告别蓝绿失真!用Water-Net(TensorFlow 1.13.1)实战水下图像增强,从环境配置到效果测试保姆级教程

水下图像增强实战&#xff1a;用Water-Net消除蓝绿偏色的完整指南 每次潜水归来&#xff0c;看着相机里那些被海水"吃掉"色彩的模糊照片&#xff0c;总让人感到遗憾。水下摄影爱好者、海洋生物研究者或是水下工程检测人员&#xff0c;都面临着一个共同的难题——如何…...