R語言數據可視化

R note book 文檔–輸出html格式文檔,plotly不能生成PDF文件

---
title: "R語言數據可視化"
output: html_notebook
---

在R語言中進行數據可視化是數據分析和呈現的重要環節,R提供了多種強大的繪圖系統和工具。以下是常見的數據可視化方法和示例,從基礎到高級逐步介紹:

1. 基礎繪圖系統(Base R Graphics)

R內置的基礎繪圖函數,適合快速生成簡單圖表。

散點圖
# 示例數據
x <- 1:10
y <- x^2# 繪制散點圖
plot(x, y, main = "散點圖示例",  # 標題xlab = "X軸", ylab = "Y軸",  # 坐標軸標簽pch = 16,  # 點的形狀col = "blue",  # 點的顏色cex = 1.5)  # 點的大小
折線圖
# 生成數據
time <- seq(1, 10, by = 0.5)
values <- sin(time)# 繪制折線圖
plot(time, values, type = "l",  # type="l"表示折線圖main = "正弦曲線",xlab = "時間", ylab = "值",col = "red", lwd = 2)  # 線寬為2
箱線圖
# 使用內置數據集mtcars
data(mtcars)# 按氣缸數(cyl)分組繪制mpg的箱線圖
boxplot(mpg ~ cyl, data = mtcars,main = "不同氣缸數車輛的MPG分布",xlab = "氣缸數", ylab = "每加侖英里數(MPG)",col = c("lightblue", "lightgreen", "lightpink"))

2. ggplot2包(推薦)

基于圖形語法的高級繪圖系統,適合創建復雜、精美的圖表。

安裝與加載
#install.packages("ggplot2")  # 首次使用需安裝
library(ggplot2)
散點圖
# 使用內置數據集iris
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +geom_point(size = 3) +  # 散點圖層labs(title = "鳶尾花萼片長度與寬度關系",x = "萼片長度(cm)", y = "萼片寬度(cm)") +theme_minimal()  # 使用簡潔主題
柱狀圖
# 統計不同Species的數量
ggplot(iris, aes(x = Species)) +geom_bar(fill = "skyblue", color = "black") +  # 柱狀圖層labs(title = "鳶尾花種類分布", x = "種類", y = "數量") +theme_classic()  # 使用經典主題
箱線圖與小提琴圖
ggplot(iris, aes(x = Species, y = Petal.Length, fill = Species)) +geom_boxplot(alpha = 0.7) +  # 箱線圖層geom_violin(alpha = 0.3) +   # 小提琴圖層(顯示密度分布)labs(title = "不同種類鳶尾花花瓣長度分布",x = "種類", y = "花瓣長度(cm)")

3. 高級可視化

熱圖(Heatmap)
# 使用內置數據集mtcars
cor_matrix <- cor(mtcars)  # 計算相關系數矩陣# 繪制熱圖
heatmap(cor_matrix, main = "汽車特征相關性熱圖",col = cm.colors(256),  # 顏色漸變scale = "column")  # 按列標準化
直方圖與密度圖
# 使用ggplot2繪制直方圖與密度圖
ggplot(iris, aes(x = Sepal.Length)) +geom_histogram(aes(y = ..density..),  # 直方圖(顯示密度)bins = 15, fill = "lightblue", color = "black") +geom_density(alpha = 0.2, fill = "blue") +  # 密度曲線facet_wrap(~ Species) +  # 按種類分面labs(title = "鳶尾花萼片長度分布", x = "萼片長度(cm)", y = "密度")
氣泡圖(散點圖+大小/顏色映射)
# 使用ggplot2繪制氣泡圖
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +geom_point(aes(size = Petal.Length, color = Species), alpha = 0.7) +  # alpha設置透明度scale_size_continuous(range = c(2, 10)) +  # 控制點大小范圍labs(title = "鳶尾花特征氣泡圖",x = "萼片長度(cm)", y = "萼片寬度(cm)",size = "花瓣長度", color = "種類") +theme_bw()  # 使用黑白主題

4. 交互式可視化(plotly)

創建可交互的圖表,適合網頁展示或數據分析。

安裝與基本用法
#install.packages("plotly")
library(plotly)# 將ggplot2圖表轉為交互式
p <- ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +geom_point(size = 3)ggplotly(p)  # 轉為交互式圖表
3D散點圖
# 創建3D散點圖
plot_ly(iris, x = ~Sepal.Length, y = ~Sepal.Width, z = ~Petal.Length,color = ~Species, type = "scatter3d", mode = "markers") %>%layout(title = "鳶尾花3D特征散點圖")

5. 數據可視化注意事項

  1. 選擇合適的圖表類型:根據數據類型和分析目的選擇(如比較用柱狀圖,分布用箱線圖,關系用散點圖)。
  2. 保持簡潔:避免過多裝飾元素,確保數據是焦點。
  3. 使用適當的顏色:避免使用過于鮮艷或難以區分的顏色,考慮色盲用戶。
  4. 添加必要標簽:確保圖表標題、坐標軸標簽、圖例清晰。
  5. 優化布局:合理安排圖表大小、比例和間距。

6. 資源推薦

  • ggplot2官方文檔
  • R Graphics Cookbook
  • Plotly for R

通過以上方法,你可以在R中創建從簡單到復雜的各種數據可視化圖表,滿足不同的分析和展示需求。

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

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

相關文章

Axure難點解決分享:垂直菜單展開與收回(4大核心問題與專家級解決方案)

親愛的小伙伴,在您瀏覽之前,煩請關注一下,在此深表感謝!如有幫助請訂閱專欄! Axure產品經理精品視頻課已登錄CSDN可點擊學習https://edu.csdn.net/course/detail/40420 課程主題:垂直菜單展開與收回 主要內容:超長菜單實現、展開與收回bug解釋、Axure9版本限制等問題解…

云原生攻防2(Docker基礎補充)

Docker基礎入門 容器介紹 Docker是什么 Docker是基于Linux內核實現,最早是采用了 LXC技術,后來Docker自己研發了runc技術運行容器。 它基于Google Go語言實現,采用客戶端/服務端架構,使用API來管理和創建容器。 虛擬機 VS Docker Namespace 內核命名空間屬于容器非常核…

Spring Boot 攔截器:解鎖5大實用場景

一、Spring Boot中攔截器是什么 在Spring Boot中&#xff0c;攔截器&#xff08;Interceptor&#xff09;是一種基于AOP&#xff08;面向切面編程&#xff09;思想的組件&#xff0c;用于在請求處理前后插入自定義邏輯&#xff0c;實現權限校驗、日志記錄、性能監控等非業務功能…

Vue百日學習計劃Day24-28天詳細計劃-Gemini版

總目標: 在 Day 24-27 熟練掌握 Vue.js 的各種模板語法&#xff0c;包括文本插值、屬性綁定、條件渲染、列表渲染、事件處理和表單綁定&#xff0c;并能結合使用修飾符。 所需資源: Vue 3 官方文檔 (模板語法): https://cn.vuejs.org/guide/essentials/template-syntax.htmlVu…

分布式微服務系統架構第125集:AI大模型

加群聯系作者vx&#xff1a;xiaoda0423 倉庫地址&#xff1a;https://webvueblog.github.io/JavaPlusDoc/ https://1024bat.cn/ 一、user 表&#xff08;用戶表&#xff09; sql 復制編輯 create table if not exists user (id bigint auto_increment comment id pri…

機器學習 Day16 聚類算法 ,數據降維

聚類算法 1.簡介 1.1 聚類概念 無監督學習&#xff1a;聚類是一種無監督學習算法&#xff0c;不需要預先標記的訓練數據 相似性分組&#xff1a;根據樣本之間的相似性自動將樣本歸到不同類別 相似度度量&#xff1a;常用歐式距離作為相似度計算方法 1.2 聚類vs分類 聚類&…

【Linux】第十八章 調優系統性能

1. 系統管理員可以使用哪個命令來更改tuned守護進程的設置&#xff1f; tuned 的調優配置集存儲在 /usr/lib/tuned&#xff08;默認&#xff09; 和 /etc/tuned&#xff08;自定義 或當前有效&#xff09;目錄下。每個配置集都有一個單獨的目錄&#xff0c;目錄中包含 tuned.c…

【JVS更新日志】企業文檔AI助手上線、低代碼、智能BI、智能APS、AI助手5.14更新說明!

項目介紹 JVS是企業級數字化服務構建的基礎腳手架&#xff0c;主要解決企業信息化項目交付難、實施效率低、開發成本高的問題&#xff0c;采用微服務配置化的方式&#xff0c;提供了低代碼數據分析物聯網的核心能力產品&#xff0c;并構建了協同辦公、企業常用的管理工具等&…

ollama調用千問2.5-vl視頻圖片UI界面小程序分享

1、問題描述&#xff1a; ollama調用千問2.5-vl視頻圖片內容&#xff0c;通常用命令行工具不方便&#xff0c;于是做了一個python UI界面與大家分享。需要提前安裝ollama&#xff0c;并下載千問qwen2.5vl:7b 模型&#xff0c;在ollama官網即可下載。 &#xff08;8G-6G 顯卡可…

Web 架構之會話保持深度解析

文章目錄 一、引言二、會話保持的基本概念2.1 什么是會話2.2 為什么需要會話保持 三、會話保持的常見實現方式3.1 基于客戶端的會話保持3.1.1 Cookie 方式3.1.2 URL 重寫方式 3.2 基于服務器端的會話保持3.2.1 負載均衡器會話保持3.2.2 會話共享 四、會話保持可能遇到的問題及解…

Maven 項目中將本地依賴庫打包到最終的 JAR 中

文章目錄 前言詳細步驟 前言 在現代后端開發中&#xff0c;構建高效且可擴展的 Web 應用程序通常依賴于多種第三方庫和內部依賴。這些依賴可以來自公共倉庫&#xff0c;也可能是公司內部自研的庫或尚未發布到公共倉庫的 JAR 包。本文將詳細介紹如何在 Maven 項目中處理本地依賴…

快速定位到源碼位置的插件 - vite/webpack

1. vite-plugin-vue-devtools npm i vite-plugin-vue-devtools -D vite.config.js中配置 import vueDevTools from vite-plugin-vue-devtoolsexport default defineConfig({server: {port: 5173,host: 0.0.0.0},plugins: [vue(),vueJsx(),vueDevTools({componentInspector: t…

基于AH1101芯片的5V升18.6V LED恒流背光供電方案設計

基于AH1101芯片的5V升18.6V LED恒流背光供電方案設計 在現代電子設備中&#xff0c;LED背光技術因其高效、節能、壽命長等優點被廣泛應用于各類顯示設備。本文將詳細介紹如何利用AH1101高效升壓恒流驅動芯片&#xff0c;實現從5V輸入電壓升壓至18.6V&#xff0c;為LED背光板提供…

16.1 - VDMA視頻轉發實驗之TPG

文章目錄 1 實驗任務2 系統框圖3 硬件設計3.1 IP核配置3.2 注意事項 4 軟件設計4.1 注意事項4.2 工程源碼4.2.1 main.c文件 1 實驗任務 基于14.1&#xff0c;使用Xilinx TPG&#xff08;Test Pattern Generator&#xff09; IP提供視頻源&#xff0c;將視頻數據通過VDMA寫入PS…

認識Docker/安裝Docker

一、認識Docker Docker的定義 Docker 是一個開源的應用容器引擎&#xff0c;允許開發者將應用及其依賴打包到一個輕量級、可移植的容器中。容器化技術使得應用可以在任何支持 Docker 的環境中運行&#xff0c;確保環境一致性。 Docker的核心組件 Docker Engine&#xff1a;負責…

實用工具:微軟軟件PowerToys(完全免費),實現多臺電腦共享鼠標和鍵盤(支持window系統)

實用工具&#xff1a;微軟軟件 PowerToys 讓多臺電腦共享鼠標和鍵盤 在如今的數字化辦公與生活場景中&#xff0c;我們常常會面臨同時使用多臺電腦的情況。例如&#xff0c;辦公時可能一臺電腦用于處理工作文檔&#xff0c;另一臺用于運行專業軟件或查看資料&#xff1b;家庭環…

西門子 Teamcenter13 Eclipse RCP 開發 1.1 工具欄 普通按鈕

西門子 Teamcenter13 Eclipse RCP 開發 1.1 工具欄 普通按鈕 1 配置文件2 插件控制3 命令框架 位置locationURI備注菜單欄menu:org.eclipse.ui.main.menu添加到傳統菜單工具欄toolbar:org.eclipse.ui.main.toolbar添加到工具欄 style 值含義顯示效果push普通按鈕&#xff08;默…

React中巧妙使用異步組件Suspense優化頁面性能。

文章目錄 前言一、為什么需要異步組件&#xff1f;1. 性能瓶頸分析2. 異步組件的價值 二、核心實現方式1. React.lazy Suspense&#xff08;官方推薦&#xff09;2. 路由級代碼分割&#xff08;React Router v6&#xff09; 總結 前言 在 React 應用中&#xff0c;隨著功能復…

現在環保方面有什么新的技術動態

環保領域的技術發展迅速&#xff0c;尤其在“雙碳”目標、數字化轉型和可持續發展背景下&#xff0c;涌現出許多創新技術和應用。以下是當前環保領域的新技術動態&#xff08;截至2024年&#xff09;&#xff1a; 一、碳中和與碳減排技術 CCUS&#xff08;碳捕集、利用與封存&a…

solidwors插件 開發————仙盟創夢IDE

SolidWorks VBS SolidWorks 支持通過 VBScript&#xff08;.vbs&#xff09;腳本 進行簡單的二次開發&#xff08;如自動化建模、批量操作等&#xff09;&#xff0c;但嚴格來說這屬于 腳本編程&#xff0c;而非傳統的插件&#xff08;Plug-in&#xff09;開發&#xff08;插件…