我想使用 ggplot 在折线图中绘制特定日期特定停车场的占用率。
我的数据框如下所示:
head(ParkingSub4)
FreeSpaceShort ShortCapacity DateTime OccupancyRateShort Date Weekday WeekNumber Week
310801 257 373 2017-02-25 00:04:41 0.3109920 2017-02-25 Saturday 08 FALSE
310843 260 373 2017-02-25 00:09:41 0.3029491 2017-02-25 Saturday 08 FALSE
310885 261 373 2017-02-25 00:14:41 0.3002681 2017-02-25 Saturday 08 FALSE
310927 260 373 2017-02-25 00:19:41 0.3029491 2017-02-25 Saturday 08 FALSE
310969 260 373 2017-02-25 00:24:41 0.3029491 2017-02-25 Saturday 08 FALSE
311011 263 373 2017-02-25 00:29:41 0.2949062 2017-02-25 Saturday 08 FALSE
class(ParkingSub4$DateTime)
[1] "POSIXlt" "POSIXt"
Run Code Online (Sandbox Code Playgroud)
当我尝试绘制特定日期的概览时,假设 2017 年 …
我正在致力于将基于周的日期转换为基于月份的日期.
在检查我的工作时,我在我的数据中发现了以下问题,这是对简单调用的结果 as.Date()
as.Date("2016-50-4", format = "%Y-%U-%u")
as.Date("2016-50-5", format = "%Y-%U-%u")
as.Date("2016-50-6", format = "%Y-%U-%u")
as.Date("2016-50-7", format = "%Y-%U-%u") # this is the problem
Run Code Online (Sandbox Code Playgroud)
前面的代码生成前3行的正确日期:
"2016-12-15"
"2016-12-16"
"2016-12-17"
Run Code Online (Sandbox Code Playgroud)
然而,最后一行代码可以追溯到1周:
"2016-12-11"
Run Code Online (Sandbox Code Playgroud)
谁能解释一下这里发生了什么?
我试图使用ggplot2新的(和令人敬畏的)简单功能映射包将几个地理数据集一起绘制geom_sf.当我试图强制线型特征的图例显示为一条线时,我会被传说和一个错误代码Error: length(rows) == 1 is not TRUE(似乎属于ddply)所淹没.
这是我调用的代码,它生成下面的图表; 一切都很好,除了传说,其中Line1显示为一个框/填充.
ggplot() +
geom_sf(data=sct, aes(fill=as.factor(sct$tc2)), color = "gray82") +
scale_fill_manual(values=c("white","goldenrod1","dodgerblue"),
labels = c("Omitted", "Control", "Treated"),
name = "Legend") +
geom_sf(data=lines1925All, aes(color="A"), linetype="dashed") +
scale_color_manual(values = c("A" = "olivedrab"),
labels = c("Line1"),
name = "what line?") +
theme_minimal() +
coord_sf(xlim=mapRange2[c(1:2)], ylim=mapRange2[c(3:4)])
Run Code Online (Sandbox Code Playgroud)
这是图:
现在,如果我尝试使用show.legend(= TRUE或者= "line")强制图例看起来像一条线,在下面
geom_sf(data=lines1925All, aes(color="A"), linetype="dashed", show.legend = "line") +
Run Code Online (Sandbox Code Playgroud)
我收到了错误Error: length(rows) …
给定路径,例如
file_path = 'a.b.c.d.e'
Run Code Online (Sandbox Code Playgroud)
我希望删除e。
这是我所做的:
class_path = ('.').join(file_path.split('.')[0:-1])
Run Code Online (Sandbox Code Playgroud)
还有其他更优雅的方式吗?