- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在使用 ggplot 来创建绘图,并且我总是喜欢水平偏移数据点,这样误差线就不会重叠。我发现当我使用日期数据作为 x 轴时,我失去了偏移数据点的能力。
DF=data.frame(Date=c("2006-09-01", "2007-09-01", "2008-09-01" ,"2009-09-01", "2010-01-01" ,"2011-01-01"),Count=c(1,2,3,4,5,6,2,4,6,8,10,12),Type=c('A','A','A','A','A','A','B','B','B','B','B','B'))
如果我像这样使用 ggplot 绘制上面的数据框,这些点就会偏移
dodge=position_dodge(.5)
ggplot(data=DF,aes(x=Date,y=Count,group=Type))+geom_point(position=dodge)
但是如果我将日期数据指定为实际日期
DF$Date=as.Date(DF$Date)
ggplot(data=DF,aes(x=Date,y=Count,group=Type))+geom_point(position=dodge)
这些点不再偏移,即使我指定它们是
我过去通过将日期数据限制为“年”并将其视为数字来避免此问题。但现在我需要包含月份信息(我在日期中包含了日期,因为“如果不包含的话,as.Date 会变得有点奇怪)。
谁能告诉我是否有一种方法可以使用 ggplot 绘制时间序列,这将允许我抵消我的数据点和误差线。
最佳答案
实际上,这些点被稍微躲避了。
您需要记住,一年之间的间隔是 365 天。position_dodge(0.5)
将点移动(半天)/2。因此,头寸以一年为间隔移动 0.5/2/365。
如果您选择`position_dodge(0.5 * 365),那么您将得到预期的绘图:
DF <- data.frame(
expand.grid(Date=c("2006-09-01", "2007-09-01", "2008-09-01" ,"2009-09-01"),
Type = c("A", "B")),
Count = 1:4)
DF$Date2 <- as.Date(DF$Date)
ggplot(data=DF,aes(x=Date2,y=Count,group=Type))+ geom_point(position = position_dodge(365*0.5))
关于R 和 ggplot-将 x 轴更改为日期可消除位置闪避,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8351773/
我想在道奇订购酒吧 geom_bar .你知道如何处理吗? 我的代码: ttt % group_by(klaster) %>% mutate(position = rank(-ile)
我要绘制三个组的测量值,每个组有五个观察值。我想绘制所有点,但是每个组中的数值都非常接近。改变 alpha 有帮助,但仍然很难观察到单独的点。 因此我想添加一些水平扩展(在 X 轴上)。点的部分重叠是
我要绘制三个组的测量值,每个组有五个观察值。我想绘制所有点,但是每个组中的数值都非常接近。改变 alpha 有帮助,但仍然很难观察到单独的点。 因此我想添加一些水平扩展(在 X 轴上)。点的部分重叠是
这个问题在这里已经有了答案: control hierarchy of position_dodge (1 个回答) 关闭 5 年前。 最近对 ggplot2 (2.2.0) 的更新破坏了我们的一些
我是一名优秀的程序员,十分优秀!