使用ggplot2在多个异常点的日期时间添加垂直线

Sharath

我有一个这样的数据框

PDATETIME <- c("2017-02-23 06:08:39","2017-02-25 15:31:50","2017-03-06 17:11:57","2017-03-15 01:23:51",
               "2017-03-16 15:54:35","2017-03-16 23:48:14","2017-03-18 02:57:41","2017-03-20 05:12:33")
DELTA <- c(2.5,8,3.5,4.5,5.5,8.3,3.3,4)
Type <- c(NA,"Outlier",NA,NA,NA,"Outlier",NA,NA)

df <- data.frame(PDATETIME,DELTA,Type) 
df$PDATETIME <- as.POSIXct(df$PDATETIME,format="%Y-%m-%d %H:%M:%S")

我正在尝试使用ggplot2在离群点绘制垂直线

library(ggplot2)
library(ggrepel)
ggplot(data = df, aes(PDATETIME,DELTA ))+ 
  ggtitle("Outlier Analysis") + 
  theme(axis.text.x = element_text(angle=90, vjust=1),plot.title = element_text(size = rel(1))) + 
  geom_point(colour="black") +
  geom_vline(aes(xintercept=df$PDATETIME[which(df$Type %in%  "Outlier")],linetype=4, colour="black")) + 
  geom_text_repel(aes(PDATETIME, DELTA, 
                      label = Type),
                  size =4,
                  fontface = 'bold',
                  color = 'red',
                  box.padding = 0.5,
                  point.padding = 0.5,
                  segment.color = 'darkblue',
                  segment.size = 0.5,
                  arrow = arrow(length = unit(0.01, 'npc'))) +
  xlab("PDATETIME")+ 
  ylab("DELTA")

引发错误“ Error: A continuous variable can not be mapped to linetype

离群点位于2017-02-25 15:31:50、2017-03-16 23:48:14

我在这里想念什么?有人可以指出我正确的方向吗?

道格拉斯·梅斯基塔(Douglas Mesquita)

linetype并且color没有变化,因此您可以将它移到外面aes另外,我建议您将代码修改为:

geom_vline(data = df[which(df$Type %in% "Outlier"),], 
           aes(xintercept = PDATETIME), 
           linetype = 4, colour = "black") 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ggplot2:如何在时间x轴上将文本添加到多条垂直线(geom_vlines)?

为什么ggplot2在点之间画一条垂直线?

如何在ggplot2中为带有图例的垂直线添加标签

ggplot2垂直线未插入所需的位置

ggplot2构面中的单个垂直线

ggplot2 boxplot仅显示垂直线

基于日期时间数据在matplotlib中使用axvline添加垂直线

使用 Matplotlib 绘制带有日期时间的垂直线

如何使用ggplot2在R中的散射极坐标图中获得垂直线

如何使用带有时间序列数据的ggplot为graf添加垂直垂直线?

ggplot-添加垂直线

如何使用ggplot2为geom_pointrange()类型的图形获取图例键中的垂直线

在多个时间序列的每个时间序列子图中添加垂直线

在ggplot点图中为垂直线添加第二个图例

在具有相同日期时间轴的子图中添加垂直线

在matplotlib中向日期格式的时间序列添加垂直线

ggplot2分组散点图中数据点的垂直线

ggplot2:geom_errorbarh结尾处的两条垂直线的大小

如何在单个ggplot2中对齐图层(密度图和垂直线)

在 R ggplot2 中,如何自动绘制垂直线

限制R ggplot2中的垂直线长度

如何在垂直线绘制的地方添加垂直线?[单个图中的多个分布]

如何添加图例以标识ggplot中的垂直线?

如何在ggplot中为垂直线添加图例?

向时间序列图添加垂直线

我如何知道在ggplot中使用相同颜色添加垂直线的颜色的代码?

如何找到给定2点的垂直线?

如何使用gnuplot在标签上添加垂直线?

如何使用HighStocks或HighCharts在图表中添加垂直线?