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

如何在ggplot中添加截断线条以正确绘制决策树决策边界

解决方案:绘制截断的决策边界线

你碰到的问题根源在于geom_hline()和geom_vline()默认会绘制贯穿整个绘图区域的线条,所以才会把数据集分成四个区域。要实现只在竖线右侧(区间[cut1, 1])绘制水平线的需求,用geom_segment()替代geom_hline()是最直接的方法——它可以精确控制线段的起止位置。

修改后的代码示例

data_plot <- data.frame(x=runif(100,0,1), y=runif(100,0,1))
cut1 <- 0.5
cut2 <- 0.5

ggplot(data_plot, aes(x=x, y=y)) + 
  geom_point() + 
  geom_vline(xintercept = cut1) +  # 保留竖线分割
  # 绘制仅在[cut1, 1]区间内的水平线
  geom_segment(x = cut1, xend = 1, y = cut2, yend = cut2)

代码说明

  • geom_segment()的参数明确指定了线段的起点(x=cut1, y=cut2)和终点(xend=1, yend=cut2),这样水平线就只会出现在竖线右侧的区域里。
  • 最终绘图会被分成三个区域:竖线左侧的一个区域,以及竖线右侧被水平线分割的上下两个区域,完全符合你的预期。

如果后续需要调整分割位置,只需要修改cut1和cut2的数值即可,这个方法适配动态调整的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 20:22:29