Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 绘图2 ACFs ggplot2-显示最小值颜色_R_Ggplot2_Advanced Custom Fields - Fatal编程技术网

R 绘图2 ACFs ggplot2-显示最小值颜色

R 绘图2 ACFs ggplot2-显示最小值颜色,r,ggplot2,advanced-custom-fields,R,Ggplot2,Advanced Custom Fields,我试图使用ggplot在R中绘制2个ACF。我使用geom_segment(),它工作得很好,但有一点让人恼火的细节是,根据我声明geom_segment的顺序,如果我在最大值之前声明这些值,绘图将覆盖最小的ACF。如果一个ACF总是有一个更大的值,那么这就不是问题了(在这种情况下,我以前会将其几何分段)。我知道这听起来很混乱,所以这里有一个工作示例: library(ggplot2) library(grid) library(plyr) set.seed(123) data1 <-

我试图使用ggplot在R中绘制2个ACF。我使用geom_segment(),它工作得很好,但有一点让人恼火的细节是,根据我声明geom_segment的顺序,如果我在最大值之前声明这些值,绘图将覆盖最小的ACF。如果一个ACF总是有一个更大的值,那么这就不是问题了(在这种情况下,我以前会将其几何分段)。我知道这听起来很混乱,所以这里有一个工作示例:

library(ggplot2)
library(grid)
library(plyr)

set.seed(123)
data1 <- arima.sim(n = 10000, model = list(ar = 0.4,ma=0.4))
data2 <- arima.sim(n = 10000, model = list(ma = c(0.9,0.3)))

acf1 <- acf(data1, plot = FALSE,lag.max=15)
acf1DF <- with(acf1, data.frame(lag, acf))
acf1DF$lag <- as.integer(acf1DF$lag)
acf2 <- acf(data2, plot = FALSE,lag.max=15)
acf2DF <- with(acf2, data.frame(lag, acf))
acf2DF$lag <- as.integer(acf2DF$lag)

q <- ggplot(data = acf1DF, mapping = aes(x = lag, y = acf)) +
  geom_hline(aes(yintercept = 0)) +
  geom_segment(mapping = aes(xend = lag, yend = 0,color="red")) +
  geom_segment(data=acf2DF,mapping = aes(x=lag,y=acf,xend = lag, yend = 0),
    inherit.aes=FALSE,show.legend=FALSE)
q
库(ggplot2)
图书馆(网格)
图书馆(plyr)
种子集(123)

data1创建条形图是否是您的解决方案?分段重叠使绘图不易理解的问题可能指向使用不同的可视化作为解决方案。这是一个条形图:

p1 <- ggplot(dat,aes(x=factor(lag), y=acf,fill=factor(group))) + 
  geom_bar(width=0.3,stat="identity", position=position_dodge())
首先,我们通常在ggplot中组合数据,当您多次调用
geom
时,您做得不对

acf1DF$group <- 1
acf2DF$group <- 2

dat <- rbind(acf1DF,acf2DF)

acf1DF$group创建条形图是否是您的解决方案?分段重叠使绘图不易理解的问题可能指向使用不同的可视化作为解决方案。这是一个条形图:

p1 <- ggplot(dat,aes(x=factor(lag), y=acf,fill=factor(group))) + 
  geom_bar(width=0.3,stat="identity", position=position_dodge())
首先,我们通常在ggplot中组合数据,当您多次调用
geom
时,您做得不对

acf1DF$group <- 1
acf2DF$group <- 2

dat <- rbind(acf1DF,acf2DF)

acf1DF$组非常感谢;我开始了解ggplot数据排列的要点。不客气!我知道一次查看正确格式的数据会非常有帮助。知道如何将数据整理成ggplot想要的形状(长,数据点的所有信息都在一条线上)将使ggplot的生活更轻松;我开始了解ggplot数据排列的要点。不客气!我知道一次查看正确格式的数据会非常有帮助。知道如何将数据整理成ggplot想要的形状(长,数据点的所有信息都在一条线上)将使ggplot的工作变得更轻松。