如何在R中合并绘制两个密度图并设置颜色与图例?
合并两个密度图的解决方案
没问题!要把包含异常值和剔除异常值的收入密度图合并到同一窗口,同时区分颜色并添加图例,你只需要调整绘图逻辑——先绘制第一个密度曲线,再用lines()叠加第二个,最后添加图例即可。这里是修改后的完整代码:
# 计算两个数据集的密度 d <- density(dataS) o <- density(RemoveOutlier) # 绘制第一个密度图,设置标题、颜色,同时指定x轴范围以包含两个曲线 plot(d, main = "Density plots of Revenue", col = "blue", xlim = range(c(d$x, o$x)), xlab = "Revenue") # 在已有图上叠加第二个密度曲线,设置不同颜色 lines(o, col = "red") # 在右上角添加图例,对应两条曲线的标签和颜色 legend("topright", legend = c("With Outliers", "Excluding Outliers"), col = c("blue", "red"), lty = 1, title = "Data Category")
关键步骤解释:
- 计算密度:和你之前的代码一样,先通过
density()生成两个密度对象 - 初始绘图:调用
plot()绘制第一个曲线时,通过col指定颜色,同时用xlim设置x轴范围为两个密度曲线x值的整体范围,确保两条曲线都能完整显示 - 叠加曲线:使用
lines()而非再次调用plot(),这样会在当前绘图窗口中添加第二条曲线,而不是新建窗口,同时指定另一种区分度高的颜色 - 添加图例:
legend()函数的第一个参数"topright"指定图例位置在右上角,legend参数设置每条曲线的标签,col对应曲线颜色,lty=1表示使用实线(和密度图的线条类型一致),还可以通过title给图例加一个小标题
这样就能得到一张包含两条不同颜色密度曲线、带清晰图例的合并图啦!
内容的提问来源于stack exchange,提问作者user9498314
相关产品推荐
相关产品推荐

