R: График графика со значениями NA - PullRequest
0 голосов
/ 13 сентября 2018

Я хотел бы построить график с двумя осями 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")

В результате на этом графике, который выглядит хорошо, требуется соединение левой части через линии: enter image description here После этого я продолжал пробовать пример из первой ссылки, предлагая игнорировать АН.

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")

Однако, сюжет запутан и не верен. «Синяя часть» выглядит нормально, просто «красная часть» странная. Пожалуйста, смотрите это ниже. Есть идеи, как заставить его работать? Спасибо! enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...