R语言散点图中如何关联分类变量Area与对应颜色?
R散点图添加Area分类图例的解决方法
默认使用plot(Strength, Weight, col=Area)绘制散点图时,系统不会自动生成颜色与Area类别的对应图例,你可以通过以下方式手动添加:
快速添加基础图例
先执行绘图命令,再调用legend()函数关联颜色和Area类别:plot(Strength, Weight, col = Area) # 图例放在右上角,标签为Area的唯一值,颜色与散点对应 legend("topright", legend = unique(Area), col = unique(Area), pch = 1, title = "Area")unique(Area)会自动提取1-6这6个类别,pch=1保持和默认散点样式一致,title可给图例添加标题。转为因子优化分类显示(推荐)
若Area是数值型变量,转为因子能让分类逻辑更清晰,还可自定义标签:# 将Area转为带自定义标签的因子 Area_factor <- factor(Area, levels = 1:6, labels = paste("区域", 1:6)) # 用因子颜色绘图 plot(Strength, Weight, col = Area_factor) # 基于因子级别添加图例 legend("bottomleft", legend = levels(Area_factor), col = 1:6, pch = 1, title = "区域")自定义颜色与图例位置
要是默认颜色区分度差,可改用自定义颜色向量,比如rainbow(6)生成彩虹色:custom_cols <- rainbow(6) plot(Strength, Weight, col = custom_cols[Area]) legend("center", legend = 1:6, col = custom_cols, pch = 1, title = "Area")图例位置除了用
"topright"这类关键词,还可以用坐标x=xxx, y=xxx精准定位,避免遮挡数据点。
内容的提问来源于stack exchange,提问作者Ibraheem Abrar
相关产品推荐
相关产品推荐

