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