首页 > 解决方案 > 使用 ggplot2 在 r 中绘制异常图

问题描述

我正在尝试创建一个“异常图”(不确定这是否是正确的名称,但这就是我在各处找到它的方式)并且我正在尝试在此处遵循本指南

http://lenkiefer.com/2017/12/11/plotting-us-macroeconomic-trends-with-fred-and-r/

我更改了代码,因为我需要设定值的中点(200)而不是零,现在它看起来像这样

library(tidyverse)
library(tidyquant)
library(scales)
library(tibbletime)

YRBP<-c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
RM50<-c(213, 241, 243, 252, 219, 210, 198, 180, 187, 188, 171, 192, 194, 200, 201, 213, 234, 235, 269, 210, 234)
ACC<-data.frame(YRBP, RM50)
ACC <- mutate( ACC, 
               up2=ifelse(RM50>200,RM50,200),
               down2=ifelse(RM50<200,RM50,200)
)


G<-
ggplot(data=ACC, aes(x=YRBP,y=RM50))+
geom_line(color="black")+
theme_bw()+
geom_ribbon(aes(ymin=200,ymax=down2),fill="#4575b4",alpha=0.5)+
geom_ribbon(aes(ymin=up2,ymax=200),fill="#d73027",alpha=0.5)  +
geom_hline(yintercept=200,color="black")+
scale_color_manual(values=c("#4575b4","#d73027"),name="Snow Deposition Rate")+
scale_x_continuous()+
scale_y_continuous()+
labs(x="Year (BP)", y="Snow dep. rate")+
geom_rug(aes(color=ifelse(RM50>=200, ">=200","<200")), sides="b")
G

问题是......好吧,有一次它似乎每隔几次才绘制一次,而 R 给了我类似的错误

Warning message:
In pushgrobvp(x$vp) : reached elapsed time limit

第一部分有所不同,但始终存在“已达到已用时间限制”警告。其次...我真的不在乎在情节中显示图例(它应该出现在情节的右侧),因为我将在不依赖图表上的图例的情况下描述正在发生的事情,但我需要有轴标签,它根本不会出现在我想要做的情节中。

我做错了什么?

标签: rggplot2

解决方案


推荐阅读