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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值