GGR绘图中直方图的时间轴设置
我试图理解轴的极限在ggplot柱状图中是如何工作的。当我试图设置限制时,直方图发生了变化 下面是一个脚本,用于生成每个月的kWh直方图。在第一个图形(p1)上,我没有设置轴限制。在第二个图(p2)上,我设置了限制,该限制与数据集的时间跨度相同 柱状图附于后。在第一个柱状图上,第一个条形图是正确的,对于Jan,其值大于20000 问题是:在第二个柱状图上,第一个条形图实际上是二月(见值低于20000,这是错误的),但柱状图中的条形图表示一月 我的问题:是什么导致了这种时间转移?此外,第二个直方图中缺少两个条形图 任何帮助都将不胜感激。谢谢GGR绘图中直方图的时间轴设置,r,ggplot2,R,Ggplot2,我试图理解轴的极限在ggplot柱状图中是如何工作的。当我试图设置限制时,直方图发生了变化 下面是一个脚本,用于生成每个月的kWh直方图。在第一个图形(p1)上,我没有设置轴限制。在第二个图(p2)上,我设置了限制,该限制与数据集的时间跨度相同 柱状图附于后。在第一个柱状图上,第一个条形图是正确的,对于Jan,其值大于20000 问题是:在第二个柱状图上,第一个条形图实际上是二月(见值低于20000,这是错误的),但柱状图中的条形图表示一月 我的问题:是什么导致了这种时间转移?此外,第二个直方图
Lines <- "year,month,kWh
2014,1,21535
2014,2,19826
2014,3,20796
2014,4,21249
2014,5,21442
2014,6,22685
2014,7,20569
2014,8,23346
2014,9,23440
2014,10,20148
2014,11,24415
2014,12,21628"
con <- textConnection(Lines)
df = read.csv(con)
df$timestamp = as.POSIXct(paste(df$year,df$month,"01", sep="-"),
format="%Y-%m-%d", tz="GMT")
library(ggplot2)
png(filename = "p1.png", width = 800, height = 400, units = "px", pointsize = 24 )
p1 = ggplot(data = df, aes(x = timestamp, kWh)) +
geom_bar(stat = "identity") +
scale_x_datetime(date_breaks = "1 month",
date_labels = "%m\n%Y")
p1
png(filename = "p2.png", width = 800, height = 400, units = "px", pointsize = 24 )
time.start=as.POSIXct("2014-01-01",format="%Y-%m-%d", tz="GMT")
time.end=as.POSIXct("2014-12-01",format="%Y-%m-%d", tz="GMT")
p2 = ggplot(data = df, aes(x = timestamp, kWh)) +
geom_bar(stat = "identity") +
scale_x_datetime(limits = c(time.start,time.end),
date_breaks = "1 month",
date_labels = "%m\n%Y")
p2
行不确定,但量表可能会将值视为每月Kwh的范围,因此01-0214实际上没有值,但有一个值是从2013年12月中旬到2014年1月。尝试设置:time.start=as.POSIXct(“2013-12-19”,format=“%Y-%m-%d”,tz=“GMT”)time.end=as.POSIXct(“2014-12-14”,format=“%Y-%m-%d”,tz=“GMT”)
似乎限制=c(time.start-30,time.end+30)
起作用,而time.start,time.end
属于日期类。但不是很令人满意。类似地,coord_cartesian(xlim=c(time.start,time.end),expand=TRUE)
也能按预期工作。延长时间限制包括数据开头缺少的条。但那个酒吧标的是2013年12月,而不是2014年1月。真奇怪。你可以考虑问哈德利/打开一个关于这个的问题。