我希望将日期,工作日和时间作为x轴标签得到漂亮的图表.
test <- data.frame(date=seq(as.POSIXct("2012-02-09 00:00:00",tz="CET"),as.POSIXct("2012-02-11 00:00:00",tz="CET"),"hours" ),
value= runif(49) )
ggplot() + geom_line(data=test, aes(x=as.POSIXct(date), y=value)) +
theme(text=element_text(size=16),
legend.text=element_text(size=16),
axis.text=element_text(size=16, colour="black"),
panel.background = element_rect(fill = 'white', colour = 'black'),
axis.title.y = element_text(size=16, vjust = 0.3),
axis.title.x = element_text(size=16, vjust = 0),
legend.key=element_rect(fill="white")) +
scale_x_datetime( breaks = date_breaks("1 days"), labels = date_format("%a-%d\n%H:%M", tz="CET"),
,limits = c(as.POSIXct("2012-02-09 00:00:00 CET"),as.POSIXct("2012-02-11 00:00:00 CET")))
Run Code Online (Sandbox Code Playgroud)
包括MWE中包含的scale_x_datetime,它看起来像这样: 
有几个问题/问题:
1)如何删除左侧和右侧的空白区域?定义limits()并不成功.
2)如何设置显示的时间(小时),换句话说,设置标签的时间戳?
3)当我改变这样的时间戳时
test <- data.frame(date=seq(as.POSIXct("2012-02-09 00:59:00",tz="CET"),as.POSIXct("2012-02-11 00:59:00",tz="CET"),"hours" ),
value= runif(49) )
Run Code Online (Sandbox Code Playgroud)
结果图仍显示00分钟的时间戳.有没有办法改变这个?
如何从代码的第一列中获取正确的日期?
test <- data.frame(posixdate = c("2013-05-01 00:59:00", "2013-05-01 01:59:00", "2013-05-01 02:59:00", "2013-05-01 03:59:00"))
test$posixdate <- as.POSIXct(test$posixdate, format="%Y-%m-%d %H:%M:%S" )
test$date <- as.Date(test$posixdate)
Run Code Online (Sandbox Code Playgroud)
上面的代码导致:
posixdate date
1 2013-05-01 00:59:00 2013-04-30
2 2013-05-01 01:59:00 2013-04-30
3 2013-05-01 02:59:00 2013-05-01
4 2013-05-01 03:59:00 2013-05-01
Run Code Online (Sandbox Code Playgroud)
前两个日期不正确。我做错了什么?
如果as.Date()不是正确的功能,我怎样才能获得日期(没有小时、分钟、秒)?
我需要重新安装R,现在ggplot遇到了一些问题。我敢肯定有一个简单的解决方案,我感谢所有提示!
我经常使用堆积面积图,通常我通过定义因子水平并以相反顺序绘制来获得所需的堆积和图例顺序。但是,重新安装后,此操作不再起作用。
这是一个例子:
dx <- data.frame(x=rep(1:8,3),y=rep(c(2,3,2,4,3,5,3,2),3),z=c(rep("bread",8),rep("butter",8),rep("fish",8)))
ggplot() + geom_area(data=dx, aes(x=x, y=y, fill=z, order=-as.numeric(z)))
Run Code Online (Sandbox Code Playgroud)
这给出了以下图:
看起来“订单”对情节没有任何影响。
所需的图将堆叠图例中所示的区域,即顶部红色区域,底部蓝色区域。
我的错误在哪里?
提前谢谢了!
我正在使用带有深色背景主题(“经典”)的SQL Developer,这真的很好。但是,光标很难看到,因为它的颜色(灰色?)与背景颜色(蓝色)非常相似。
有没有办法改变光标的颜色?
提前谢谢了!
我想创建一个简单的带有条形图的水平条形图,但是我在(水平)条形图的排序中苦苦挣扎。当我进行普通条形图(堆积或躲避)时,可以通过设置有用的因子水平并根据相应变量对数据框进行排序来轻松控制条形图的顺序。但是,对数据框进行排序似乎对水平图中的条形顺序没有任何影响。我发现了一些类似的问题,但是我不确定它们是否与我的问题相对应(情节看起来有些不同)。
df1 <- data.frame (year = as.factor(c(rep(2015,3),rep(2016,3),rep(2017,3))),
value = c(50,30,20,60,70,40,20,50,80),
set = rep(c("A","B","C"),3) )
ggplot() + geom_bar(data= df1, aes(y=value, x=set, fill=year),
stat="identity", position="dodge" ) +
coord_flip()
Run Code Online (Sandbox Code Playgroud)
我想要的是一个水平图,顶部显示2015年柱形图,底部显示2017年柱形图。有趣的是,当我省略coord_flip()时,条形图的排序方式如此,但我需要使图线水平。以这种方式对数据进行排序不会更改绘图:
df1 <- df1[rev(order(df1$year)),]
Run Code Online (Sandbox Code Playgroud)
我很感谢任何提示:)