我不喜欢时间格式,尤其是,
as.POSIXct
plot()
函数来建立x轴的标签。您可以运行下面的整个代码,但困难在于修改
axis.POSIXct(1,NY$date, at=NY$date,
labels=format(NY$date,"%m-%d"),
las=2, cex.axis=0.7)
我试着把它改成
axis.POSIXct(1,NY$date, at=NY$date, by = 4,
labels=format(NY$date,"%m-%d"),
las=2, cex.axis=0.7)
我打算4天,但我想最后解释为每4秒一次。我看到有一个选择包括
'days'
但我真的想具体说明一下
每4天
at
行导致长度不匹配,导致代码无用。例如:
at <- seq(NY$date[2], NY$date[length(NY$date], by=2)
整个代码块:
require(tidyverse)
states = read.csv("https://raw.githubusercontent.com/nytimes/covid-19-data/master/us-states.csv", sep =",",header = T)
states <- states %>%
mutate(date = as.POSIXct(date, format = '%Y-%m-%d'))
# Tri-state cases (NY, NJ, PA):
NJ <- states[states$state=="New Jersey",]
NJ <- droplevels(NJ)
rownames(NJ) <- NULL
NY <- states[states$state=="New York",]
NY <- droplevels(NY)
rownames(NY) <- NULL
PA <- states[states$state=="Pennsylvania",]
PA <- droplevels(PA)
rownames(PA) <- NULL
with(as.data.frame(NY),
plot(date,cases,xaxt="n", xlab="", ylab="", pch=19,
cex.axis=0.6, cex=0.7,
cex.main=1.5, las=2, bty='l',
main="Tri-state confirmed cases"))
axis.POSIXct(1,NY$date, at=NY$date,
labels=format(NY$date,"%m-%d"),
las=2, cex.axis=0.7)
points(NJ$date, NJ$cases, pch=19, col=4, cex=0.7)
points(PA$date, PA$cases, pch=19, col=5, cex=0.7)
legend(NY$date[1], 300000, bg="transparent",
legend=c("New York state", "New Jersey", "Pennsylvania"),
col=c(1, 4, 5), pch=19, cex=1.2, box.lty=0)