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

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拖进去修改。

相关文章:

  • Vue.js教学第八章:深入掌握Vue组件生命周期
  • 【沉浸式求职学习day46】【华为5.7暑期机试题目讲解】
  • 机器学习第二十一讲:正则化 → 给模型带定位手环防走极端路线
  • 【ffmpeg】SPS与PPS的概念
  • java中定时任务的实现及使用场景
  • 现网割接步骤,慢慢总结版
  • Spring Boot接口通用返回值设计与实现最佳实践
  • spring中的Interceptor使用说明
  • svn 提交后报错 : is scheduled for addtion,but is missing
  • aws平台s3存储桶夸域问题处理
  • JavaScript性能优化实战(14):跨端JavaScript性能优化
  • 从版本控制到协同开发:深度解析 Git、SVN 及现代工具链
  • 【Redis】二、Redis常用数据类型命令学习
  • 【STM32】自定义打印函数
  • SQL 多表关联与分组聚合:解密答题正确率分析
  • “零风险”探究,化学虚拟仿真实训​
  • 关于Vue自定义组件封装的属性/事件/插槽的透传问题
  • 一步步解析 HTTPS
  • 物联网之使用Vertx实现UDP最佳实践【响应式】
  • 【react18】在styled-components中引入图片报错
  • 还有哪些网站做产品众筹/吉林百度查关键词排名
  • 广东珠海网站建设/微信营销推广方案
  • 网站建设公司推广方案/网页设计html代码大全
  • 网站实名认证中心/怎么创建一个网站
  • 集团网站设计欣赏/北京优化推广
  • iis做网站上传速度慢/网站搜索工具