You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R绘图:散点圆大小/颜色控制及长标签可读性优化咨询

R散点图问题解决方案

1. 散点大小随数值动态调整

把plot函数里固定的cex=2改成基于group1_north的动态值,比如cex=group1_north*5(系数5可根据视觉效果调整)。这样数值越大的点,圆圈尺寸就越大,完全匹配你要的大小变化逻辑。

2. 为每个散点设置不同颜色

在plot函数的col参数里,用颜色序列或自定义颜色列表即可。比如col=rainbow(nrow(df))会自动生成和数据行数匹配的彩虹色,也可以手动指定颜色,比如col=c("#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00")。

3. 长文本标签换行与大小控制

  • 先把标签里的下划线替换成换行符,用gsub("_", "\n", df$names_of_dissess)实现自动换行;
  • 在text函数里,用cex参数控制标签大小(比如cex=0.8),同时调整标签的y轴偏移量(比如从-0.02改成-0.05),避免和散点重叠。

修改后的完整代码

df=data.frame(names_of_dissess=c("Hib Disease_type1","Hepatitis_type1","Flu (Influenza)_type1","Ebola_type1",
                                 "Coronaviruses_type1","Japanese Encephalitis_type1"),
              algorithm1=c(0.00,0.29,0.11,0.21,0.25,0.29)
              ,group1_north=c(0.97,0.086,0.34,0.11,0.086,0.11)
             ) 

par( mar=c(6, 6, 4, 4),xpd = TRUE )

# 动态调整点大小和颜色
plot(group1_north ~algorithm1,
     col=rainbow(nrow(df)),  # 每个点分配不同颜色
     pch=19,
     cex=group1_north*5,     # 点大小随group1_north数值变化
     data=df,
     xlab = "algorithm1",
     ylab = "group1_north %",
     xlim=c(0.0,0.3),
     ylim=c(0.0,1),   
     main = "algorithm1 behavior",
     font.main=10,
     family = "A",
     cex.main=1.1,
     cex.lab=0.9
)  

# 处理长标签换行并调整显示参数
text(x=df$algorithm1, 
     y=df$group1_north - 0.05,  # 调整y轴位置避免重叠
     labels=gsub("_", "\n", df$names_of_dissess),  # 下划线替换为换行
     cex=0.8,  # 控制标签大小
     font=1)

内容的提问来源于stack exchange,提问作者cat cat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 11:10:48