Я хотел бы построить график с двумя осями y и настроить его, например, цвета, толщину оси и т. Д. Но некоторые из моих данных имеют значения NA, и мне нужно соединить построенные линии, но это не так. Я также строю точки, которые показывают, где линии должны быть связаны. Я искал примеры, но они действительно не работают для моего случая (например, здесь здесь и здесь ).
Пример данных:
Dates <- seq(as.Date("2018/03/15"), as.Date("2018/03/21"), "days")
V2=c(5.5,NA,NA,1,80,60,18)
V3=c(-8,NA,NA,-3.8,-14,-9,-6.2)
df <- data.frame(Dates,V2,V3)
Теперь использование приведенного ниже кода дает мне вид графика, который мне нужен, но данные на левой стороне не связаны из-за записей NA.
plot(df$Dates, df$V2, axes=F, type="l", xlab="", ylab="",col="blue", main="", lwd=2.5)
points(df$Dates, df$V2, pch=20, col="blue", cex=1.5)
axis(2, col="blue",lwd=2, cex.axis=1.2, col.axis="blue", las=2)
mtext(2,text="V2",line=3, col="blue")
axis.Date(1, at=df$Dates , format="%d/%m/%Y",las=1, cex.axis=1.2, lwd = 1.5, col= "black", col.axis="black")
par(new=T) # to add to the existing plot
plot(df$V3, axes=F, xlab="", ylab="", type="l",lty=2, main="",lwd=2, col="red")
points(df$V3, pch=20, col="red")
axis(4, lwd=2,line=1.5,las=2,cex.axis=1.2, col="red", col.axis="red")
mtext(2,text="V3",line=-30, col="red")
В результате на этом графике, который выглядит хорошо, требуется соединение левой части через линии:
После этого я продолжал пробовать пример из первой ссылки, предлагая игнорировать АН.
xlim <- range(df$Dates) # not sure what this is doing
ylim <- range(df[-1], na.rm = TRUE) # ?
plot(V2 ~ Dates, na.omit(df), axes=F, type = "l", xlab="", ylab="", col="blue",lwd=2, xlim = xlim, ylim = ylim)
points(V2 ~ Dates, df, pch=20, col="blue", cex=1.5)
axis(2, col="blue",lwd=2, cex.axis=1.2, col.axis="blue", las=2)
axis.Date(1, at=df$Dates , format="%d/%m/%Y",las=1, cex.axis=1.2, lwd = 1.5, col= "black", col.axis="black")
mtext(2,text="V2",line=3, col="blue")
par(new=T) # to add to the existing plot
plot(V3 ~ Dates, na.omit(df), axes=F, xlab="", ylab="", type = "l",lty=2, col="red",lwd=2, xlim = xlim, ylim = ylim)
points(V3 ~ Dates, df, pch=20, col="red", cex=1.5)
axis(4, lwd=2,line=1.5,las=2,cex.axis=1.2, col="red", col.axis="red")
mtext(2,text="V3",line=-30, col="red")
Однако, сюжет запутан и не верен. «Синяя часть» выглядит нормально, просто «красная часть» странная. Пожалуйста, смотрите это ниже. Есть идеи, как заставить его работать? Спасибо!