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

如何在R语言中截断Y轴,只显示指定区间的曲线?

保留指定Y轴区间的曲线部分

要实现只显示Y轴0-20和30-40区间的曲线,核心思路是把不在这两个区间的Y值替换为NA——R的绘图函数遇到NA会自动跳过这部分,不会绘制。具体操作如下:

步骤1:处理数据,替换超出区间的Y值

先定义需要保留的Y范围,再对矩阵mj的每一行做过滤处理:

mj = matrix(c(1:63),9)
m  = seq(1,21,3)

# 定义过滤函数:仅保留指定区间内的Y值,其余设为NA
filter_y <- function(y) {
  y[!(y >= 0 & y <= 20 | y >= 30 & y <= 40)] <- NA
  return(y)
}

# 对mj的每一行应用过滤函数,转置后恢复原矩阵结构
mj_filtered <- t(apply(mj, 1, filter_y))

步骤2:用处理后的数据绘图

基于过滤后的矩阵绘图,超出目标区间的曲线部分会被自动截断:

# 绘制第一行曲线,设置Y轴范围覆盖目标区间
plot(m, mj_filtered[1,], type="l", ylim=c(0,40))
# 循环绘制剩余行
for(i in 2:7){
  lines(m, mj_filtered[i,], type="l")
}

这样生成的图就只会保留0-20和30-40区间内的曲线段,其余超出区域的部分不会显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 00:29:53