我试图理解轴的极限如何在ggplot直方图中起作用。当我尝试设置限制时,直方图会移动。
下面是一个生成每月kWh直方图的脚本。在第一张图(p1)上,我没有设置轴限制。在第二个图表(p2)上,我设置了限制,该限制与数据集的时间跨度相同。
附上直方图。在第一个直方图上,第一个条形图是正确的,对于Jan,值大于20000。
问题是:在第二个直方图上,第一个条实际上是2月(见价值低于20000,这是错误的),但直方图中的条表示Jan.
我的问题:这个时间转变的原因是什么?此外,第二个直方图中缺少两个条形。
任何帮助将不胜感激。感谢
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