是否可以在R中绘制不均匀的轴?我知道我可以在特定位置指定标签,但我的意思是,我希望我的图表的特定部分可以展开。例如,想象一个X轴,例如:
-10 -5 0 1 2 3 4 5 10
上述每个值之间的间距相等。
答案 0 :(得分:3)
你需要考虑你的水平因素,比如“fac”,然后绘制。稍后使用带有labels = as.character(fac)的axis()。
dat <- data.frame(x=factor(c(-10 ,-5, 0, 1, 2, 3, 4, 5, 10)), y=1:9)
with(dat, plot(x, y)) # a step-like plot
with(dat, plot(as.numeric(x), y, type="p", xaxt="n")) # points instead of steps
axis(1, at=1:9, labels=as.character(dat$x)) # the "irregular" axis
进一步思考@Ben Bolker的问题,还应该可以定义一个辅助x值来确定在水平线上绘制“x =”和axis
“at =”坐标,然后使用unique(as.character(.))
将“real x”应用为axis
的“labels =”参数,如上所示,但不需要构建因子。使用这种方法可以实现更复杂的方案,其中辅助变量的特定范围的连续值可以用于绘制,但是在这些范围的边界处为标签构造截断值。我认为在构建实现示例之前需要进一步的设计理由和规范。