我很挣扎,因为我只是想把自己的x轴值和刻度线添加到一个也显示线性回归的图中。
似乎OR我添加了abline或者我添加了轴。我不能两个都做!
为什么?
示例数据:
df = data.frame(year = c(1901:2000), total = ceiling(runif(100, 2, 3000)))
此代码仅适用于abline():
plot(df$year, df$total, xaxt='n')
abline(lm(df$total ~ df$year))
axis(1, at = seq(1,100, by = 10), labels = seq(1901, 2000, by = 10)) #this line does not work
此代码仅适用于axis():
plot(df$total, xaxt='n')
abline(lm(df$total ~ df$year)) #this line does not work
axis(1, at = seq(1,100, by = 10), labels = seq(1901, 2000, by = 10))
请帮忙吗? 谢谢
答案 0 :(得分:3)
x轴不一定从1到100.单位由变量的比例定义。
在您的第一个示例中,x轴实际上从1901年到2000年。因此,您需要在该范围内定义at
,否则您的值将落在图表之外且不可见。只需:
plot(df$year, df$total, xaxt='n')
abline(lm(df$total ~ df$year))
axis(1, at = seq(1901, 2000, by = 10))
您的axis
调用的第二个示例是有效的,因为您正在x轴上绘制index
,其中只计算从1到 n 的观察结果(在本例中为100) 。 abline
不可见,因为它不在该图的范围内。