使用因子R覆盖2个线图

时间:2018-02-16 02:12:03

标签: r plot shiny

我尝试使用R和闪亮的网络应用程序在同一空间覆盖两个折线图。

This is the only example我可以找到类似的问题,但我不知道它们之间的关系。这也是展示这个问题的唯一情节;我的其他闪亮的应用程序图表都很好。

我的代码(相关部分)是

x1 <- c( 10, 25, 19)
x2 <- c( 3, 24, 11)
x3 <- c( 4, 15, 1)
df <- data.frame( "October" = x1, "November" = x2, "August"=x3)
x <- factor(1:3, labels = c("October", "November", "August"))
t1 <- as.numeric(df[1,1:3])
t2 <- as.numeric(df[2,1:3])
plot(t1 ~ x, type="n", ylim=c(min(t1),max(t2)))
lines(t1 ~ x, col="blue")
lines(t2 ~ x, col="red")

但无论我将初始绘图的类型更改为什么,它都会在所有绘制点上给出水平线。我原来把它作为type="l",但它做了同样的事情,所以我手动添加属于那里的线,并尝试使水平条消失type="n"是否有人对这个问题有任何了解。

我更喜欢基础R中的解决方案,所以不使用ggplot。

enter image description here

1 个答案:

答案 0 :(得分:3)

由于xfactorplot(t1 ~ x)实际上会产生一个条形图。您每月只有一次测量,所以您看到的只是一条水平线。

您可以执行以下操作:

plot.default(t1 ~ x, type="n", ylim=c(min(t1),max(t2)), xaxt = "n");
axis(1, at = as.numeric(x), labels = levels(x))
lines(t1 ~ x, col="blue")
lines(t2 ~ x, col="red")

enter image description here