R语言中如何绘制按Method分组的Ratio散点图(X轴仅两类)
解决方法
针对你的需求,有两种简单的实现方式,适合R新手:
方法一:基础绘图系统
利用因子的数值属性给不同分组分配X轴位置,再通过抖动避免点重叠:
# 给同组的X坐标添加少量随机抖动,防止点完全重叠 x_pos <- jitter(as.numeric(df$method), amount = 0.1) # 绘制散点图,先隐藏默认X轴 plot(x_pos, df$ratio, xaxt = "n", xlab = "Method", ylab = "Ratio", pch = 19) # 手动设置X轴,只显示两个类别标签 axis(1, at = c(1, 2), labels = c("Manual", "Automatic"))
as.numeric(df$method)会把Manual转成1,Automatic转成2,这样两个分组分别对应X轴的两个位置jitter()函数给X坐标加小范围随机值,避免同组数据点完全重叠,amount参数可以调整抖动幅度
方法二:ggplot2包(推荐新手使用)
ggplot2语法更直观,自动处理分组和轴标签,代码可读性更高:
# 第一次使用需要先安装包 # install.packages("ggplot2") library(ggplot2) ggplot(df, aes(x = method, y = ratio)) + geom_jitter(width = 0.1, pch = 19) + # 抖动散点,避免重叠 labs(x = "Method", y = "Ratio") + # 设置轴标签 theme_bw() # 可选,使用简洁的白色主题
aes(x = method, y = ratio)直接指定分组变量和数值变量,X轴会自动识别并显示两个类别geom_jitter()的width参数控制水平方向的抖动幅度,按需调整即可
内容的提问来源于stack exchange,提问作者Hieuwd
相关产品推荐
相关产品推荐

