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

R语言学习--Day05--绘图技巧

事实上,用Rstudio来画图,除了必要的逻辑以外,画出一副好看的,清晰的图,也是有技巧的,这里介绍一个网站:From data to Viz | Find the graphic you need,网站里有各种各样用于数据分析的图,这里演示一下怎么调用里面的分析图模版。

进去网站后,选择我们要用的图,点击R graph gallery:

紧跟着按照需求点击想要的图形就行:

这里我选了最后一个,然后我们复制代码,再按照自己的需求修改就行

library(ggplot2)# 生成数据(含分组变量)
data <- data.frame(individual = paste("Mister", seq(1, 60), sep = " "),value = sample(seq(10, 100), 60, replace = TRUE),group = rep(LETTERS[1:6], each = 10)  # 6 组,每组 10 个
)# 添加空行
empty_bar <- 10
to_add <- matrix(NA, empty_bar, ncol(data))
colnames(to_add) <- colnames(data)
data <- rbind(data, to_add)
data$id <- seq(1, nrow(data))# 计算标签角度
label_data <- data
number_of_bar <- nrow(label_data)
angle <- 90 - 360 * (label_data$id - 0.5) / number_of_bar
label_data$hjust <- ifelse(angle < -90, 1, 0)
label_data$angle <- ifelse(angle < -90, angle + 180, angle)# 绘图(按组填充颜色)
p <- ggplot(data, aes(x = as.factor(id), y = value, fill = group)) +geom_bar(stat = "identity", alpha = 0.7) +ylim(-100, 120) +theme_minimal() +theme(axis.text = element_blank(),axis.title = element_blank(),panel.grid = element_blank(),plot.margin = unit(rep(-1, 4), "cm"),legend.position = "right"  # 显示图例(可选)) +coord_polar(start = 0) +geom_text(data = label_data,aes(x = id, y = value + 10, label = individual, hjust = hjust),color = "black",fontface = "bold",alpha = 0.6,size = 2.5,angle = label_data$angle,inherit.aes = FALSE)p

我这里是修改了数据的分布,再改了画图的一些颜色,显示出来是:

相比一般的分布图,假设我们要分析一个分布图,我们就可以从图里判断不同的分组里,哪个元素占比较多,如果需要的话,也可以在后面加对应数值(但一般为了美观都不会加,毕竟是要放在论文里的)。要注意的是,如果只是一般的图,不管是保存为PDF或图片都可以,但如果是细节比较多的图片,还是建议输出为PDF,这样做的好处还有一个,就是可以把图片以PDF的形式发给大模型来互动交流。

假如想要把图片变得更美观,想微调标题或一些方格的位置之类的,可以下载Adobe Illustrator,把保存的PDF拖进去修改。

http://www.xdnf.cn/news/7851.html

相关文章:

  • .NET外挂系列:5. harmony 中补丁参数的有趣玩法(下)
  • 野火鲁班猫(arrch64架构debian)从零实现用MobileFaceNet算法进行实时人脸识别(四)安装RKNN Toolkit Lite2
  • IP地址详解
  • vue调后台接口
  • 【5.19-5.26学习周报】
  • RPA浪潮来袭,职业竞争的新风口已至?
  • HOT100(二叉树)
  • 大语言模型 16 - Manus 超强智能体 Prompt分析 原理分析 包含工具列表分析
  • Python数据库编程案例
  • 2022CCPC吉林省赛长春邀请赛 Java 做题记录
  • 软考软件评测师—— 操作系统综合知识
  • RedissonClient主要功能概述
  • 黑马点评相关知识总结
  • 大模型会话窗口为什么对最新和最久记忆表现较好
  • 13 分钟讲解所有知名 Python 库/模块
  • 命名常量集合接口INamedConstantCollection<T>实现
  • 顶级流媒体服务商 Spotify 2025.04 故障复盘报告,吃他人的堑长自己的智
  • 4.8 加密模块
  • 无人机报警器360°检测技术分析!
  • 先验知识融合机器学习的几种方式
  • VentureBeat AI 最新资讯 (2025-05-19)
  • NVM安装使用及问题解决
  • Semaphore解决高并发场景下的有限资源的并发访问问题
  • 整型数相加的溢出
  • Python的蚁群优化算法实现与多维函数优化实战
  • 【Java高阶面经:微服务篇】1.微服务架构核心:服务注册与发现之AP vs CP选型全攻略
  • C语言指针深入详解(五):回调函数、qsort函数
  • 卡片布局自适应
  • c语言刷题之实际问题
  • 一文读懂|大模型智能体互操作协议:MCP/ACP/A2A/ANP