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)

生成圖片如下所示:

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/71720.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/71720.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/71720.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Ubuntu 22.04 一鍵部署MinerU1.1.0

MinerU MinerU是一款將PDF轉化為機器可讀格式的工具&#xff08;如markdown、json&#xff09;&#xff0c;可以很方便地抽取為任意格式。 MinerU誕生于書生-浦語的預訓練過程中&#xff0c;我們將會集中精力解決科技文獻中的符號轉化問題&#xff0c;希望在大模型時代為科技發…

紫光同創開發板使用教程(二):sbit文件下載

sbit文件相當于zynq里面的bit文件&#xff0c;紫光的fpga工程編譯完成后會自動生成sbit文件&#xff0c;因工程編譯比較簡單&#xff0c;這里不在講解工程編譯&#xff0c;所以我這里直接下載sbit文件。 1.工程編譯完成后&#xff0c;可以看到Flow列表里面沒有報錯&#xff0c…

DeepSeek 部署全指南:常見問題解析與最新技術實踐

引言 隨著開源大模型DeepSeek的爆火&#xff0c;其部署需求激增&#xff0c;但用戶在實際操作中常面臨服務器壓力、本地部署性能瓶頸、API配置復雜等問題。本文結合2025年最新技術動態&#xff0c;系統梳理DeepSeek部署的核心問題與解決方案&#xff0c;并分享行業實踐案例&am…

Vue02

Vue02 綁定class樣式 字符串寫法&#xff0c;適用于&#xff1a;樣式的類名不確定&#xff0c;需要動態指定 數組寫法&#xff0c;適用于&#xff1a;要綁定的樣式個數不確定&#xff0c;名字也不確定 對象寫法&#xff0c;適用于&#xff1a;要綁定的樣式個數缺點&#xff…

超導量子計算機的最新進展:走向實用化的量子革命

超導量子計算機的最新進展:走向實用化的量子革命 大家好,我是 Echo_Wish,今天我們來聊聊科技圈最炙手可熱的話題之一——超導量子計算機。近年來,量子計算領域可謂是風起云涌,而超導量子計算機作為主流路線之一,已經在學術界和工業界取得了不少突破性進展。 那么,超導…

LangChain構建行業知識庫實踐:從架構設計到生產部署全指南

文章目錄 引言:行業知識庫的進化挑戰一、系統架構設計1.1 核心組件拓撲1.2 模塊化設計原則二、關鍵技術實現2.1 文檔預處理流水線2.2 混合檢索增強三、領域適配優化3.1 醫學知識圖譜融合3.2 檢索結果重排序算法四、生產環境部署4.1 性能優化方案4.2 安全防護體系五、評估與調優…

Node.js中如何修改全局變量的幾種方式

Node.js中如何修改全局變量。我需要先理解他們的需求。可能他們是在開發過程中遇到了需要跨模塊共享數據的情況&#xff0c;或者想要配置一些全局可訪問的設置。不過&#xff0c;使用全局變量可能存在一些問題&#xff0c;比如命名沖突、難以維護和測試困難&#xff0c;所以我得…

【Node.js】express框架

目錄 1初識express框架 2 初步使用 2.1 安裝 2.2 創建基本的Web服務器 2.3 監聽方法 2.3.1 監聽get請求 2.3.2 監聽post請求 2.4 響應客戶端 2.5 獲取url中的參數(get) 2.5.1 獲取查詢參數 2.5.2 獲取動態參數 2.6 托管靜態資源 2.6.1 掛載路徑前綴 2.6.2 托管多…

Vulhub靶機 Apache Druid(CVE-2021-25646)(滲透測試詳解)

一、開啟vulhub環境 docker-compose up -d 啟動 docker ps 查看開放的端口 1、漏洞范圍 在Druid0.20.0及更低版本中 二、訪問靶機IP 8888端口 1、點擊Load data進入新界面后&#xff0c;再點擊local disk按鈕。 2、進入新界面后&#xff0c;在標紅框的Base directory欄寫上…

【c語言】函數_作業詳解

前言&#xff1a; 對應鵬哥專升本c語言&#xff0c;51集 內容&#xff1a; 找出10個數值中的最大值&#xff0c; #include <stdio.h> //求10個整數中的最大值 int main() {//準備10個整數 //int arr[10] {1,2,3,4,13,6,7,8,9,-2};//用于循環10次int i 0;//也可以自…

計算機網絡之路由協議(自治系統)

一、自治系統&#xff08;AS&#xff09; 自治系統是由同一個技術管理機構管理、使用統一選路策略的一些路由器的集合。它是網絡的基本構成單位&#xff0c;每個自治系統是一個獨立運營并自主決定與誰交換流量的實體。自治系統內部運行內部網關協議&#xff08;IGP&#xff09…

【Unity】Unity clone 場景渲染的燈光貼圖異位問題

Unity clone 場景渲染的燈光貼圖異位問題 問題 需要將一個場景clone 一份保存到本地 當克隆完成后&#xff0c;副本場景的燈光貼圖異位了&#xff0c;與原場景存在較大的差別 問題原因 場景被clone 后&#xff0c;場景的燈光渲染數據不能共用&#xff0c;即Lightmapping.li…

Python----數據分析(Numpy一:numpy庫簡介,與list列表的區別,數組的創建,隨機數組的創建)

一、 Numpy庫簡介 1.1、概念 NumPy(Numerical Python)是一個開源的Python科學計算庫&#xff0c;旨在為Python提供 高性能的多維數組對象和一系列工具。NumPy數組是Python數據分析的基礎&#xff0c;許多 其他的數據處理庫&#xff08;如Pandas、SciPy&#xff09;都依賴于Num…

千峰React:函數組件使用(2)

前面寫了三千字沒保存&#xff0c;恨&#xff01; 批量渲染 function App() {const list [{id:0,text:aaaa},{id:1,text:bbbb},{id:2,text:cccc}]// for (let i 0; i < list.length; i) {// list[i] <li>{list[i]}</li>// }return (<div><…

Hot100 動態規劃

動態規劃 動規五部曲&#xff1a; 確定dp數組以及下標的含義確定遞推公式dp數組如何初始化確定遍歷順序舉例推導dp數組 70. 爬樓梯 - 力扣&#xff08;LeetCode&#xff09; 爬到第一層樓梯有一種方法&#xff0c;爬到二層樓梯有兩種方法。 那么第一層樓梯再跨兩步就到第三…

Rust語言基礎知識詳解【一】

1.在windows上安裝Rust Windows 上安裝 Rust 需要有 C 環境&#xff0c;以下為安裝的兩種方式&#xff1a; 1. x86_64-pc-windows-msvc&#xff08;官方推薦&#xff09; 先安裝 Microsoft C Build Tools&#xff0c;勾選安裝 C 環境即可。安裝時可自行修改緩存路徑與安裝路…

文章精讀篇——OMG-Seg

題目&#xff1a;OMG-Seg : Is One Model Good Enough For All Segmentation? 作者&#xff1a;Xiangtai Li1 ? Haobo Yuan1 Wei Li1 Henghui Ding1 Size Wu1 Wenwei Zhang1Yining Li2 Kai Chen2 Chen Change Loy1 代碼&#xff1a;OMG-Seg 會議&#xff1a;cvpr2024 邊讀…

vite 開啟 gzip壓縮

使用vite 如何開啟 gzip壓縮 文章目錄 使用vite 如何開啟 gzip壓縮1. 引言為什么需要 Gzip 壓縮&#xff1f;Gzip 壓縮的作用 2. Vite 項目中的 Gzip 壓縮Vite 的基本概念Gzip 壓縮的原理 3. 使用 Vite 插件開啟 Gzip 壓縮安裝 vite-plugin-compression配置 vite-plugin-compre…

【Qt學習】| 如何使用QVariant存儲自定義類型

QVariant是Qt框架中的一個通用數據類型&#xff0c;可以存儲多種類型的數據&#xff0c;主要作用是提供一種類型安全的方式來存儲和傳遞不同類型的數據&#xff0c;而不需要顯示地指定數據類型。 QVariant提供了諸多構造函數可以非常方便地對基礎數據類型&#xff08;如&#x…

【Python量化金融實戰】-第1章:Python量化金融概述:1.4 開發環境搭建:Jupyter Notebook、VS Code、PyCharm

在量化金融開發中&#xff0c;選擇合適的開發環境至關重要。本章介紹三種主流工具&#xff1a;Jupyter Notebook&#xff08;交互式分析&#xff09;、VS Code&#xff08;輕量級編輯器&#xff09;、PyCharm&#xff08;專業IDE&#xff09;&#xff0c;并通過實戰案例展示其應…