R 如何在ggplot中以宽范围缩放变量并在单个绘图中显示相同的变量

R 如何在ggplot中以宽范围缩放变量并在单个绘图中显示相同的变量,r,ggplot2,plot,R,Ggplot2,Plot,我已经创建了以下数据帧 # Create a dataframe Column1 <- c(1:30) Column1 <- paste0('Month_', as.character(Column1)) paste0('Column', as.character(Column1)) Variable <- c("A", "B", "C", "D", 'E') DF <- data.frame(Column1, Variable) DF$val

我已经创建了以下数据帧

 # Create a dataframe

  Column1 <- c(1:30)
  Column1 <- paste0('Month_', as.character(Column1))
  paste0('Column', as.character(Column1))
  Variable <- c("A", "B", "C", "D", 'E')
  DF <- data.frame(Column1, Variable)
  DF$value <- 0
  DF$value[DF$Variable == "A"] <- runif(length(DF$value[DF$Variable == "A"]), 
      min = 10000, max = 50000)
  DF$value[DF$Variable == "B"] <- runif(length(DF$value[DF$Variable == "A"]), 
      min = 100, max = 500)
  DF$value[DF$Variable=="C"] <- runif(length(DF$value[DF$Variable=="A"]),
      min = 100, max = 500)
  DF$value[DF$Variabl e== "D"] <- runif(length(DF$value[DF$Variable == "A"]), 
      min = 100, max = 500)
  DF$value[DF$Variable == "E"] <- runif(length(DF$value[DF$Variable=="A"]),
      min = 100, max = 500)
#创建数据帧

Column1下面的内容可能会满足您的需要

首先,我将重新生成数据集,这次设置RNG种子

set.seed(4821)    # Make the code reproducible

Column1 <- paste0('Month_', 1:30)
Variable <- c("A", "B", "C", "D", 'E')
DF <- data.frame(Column1, Variable)
nA <- sum(DF$Variable == "A")
DF$value <- 0
DF$value[DF$Variable == "A"] <- runif(nA, min = 10000, max = 50000)
DF$value[DF$Variable == "B"] <- runif(nA, min = 100, max = 500)
DF$value[DF$Variable == "C"] <- runif(nA, min = 100, max = 500)
DF$value[DF$Variable == "D"] <- runif(nA, min = 100, max = 500)
DF$value[DF$Variable == "E"] <- runif(nA, min = 100, max = 500)

类似于以下内容的操作可能会满足您的需要

首先,我将重新生成数据集,这次设置RNG种子

set.seed(4821)    # Make the code reproducible

Column1 <- paste0('Month_', 1:30)
Variable <- c("A", "B", "C", "D", 'E')
DF <- data.frame(Column1, Variable)
nA <- sum(DF$Variable == "A")
DF$value <- 0
DF$value[DF$Variable == "A"] <- runif(nA, min = 10000, max = 50000)
DF$value[DF$Variable == "B"] <- runif(nA, min = 100, max = 500)
DF$value[DF$Variable == "C"] <- runif(nA, min = 100, max = 500)
DF$value[DF$Variable == "D"] <- runif(nA, min = 100, max = 500)
DF$value[DF$Variable == "E"] <- runif(nA, min = 100, max = 500)

您就快到了,只需将fill参数更改为group

ggplot(data = DF, aes(x = Column1, y = value, colour = 
                        Variable)) +
  geom_bar(data = DF[DF$Variable == "A",], aes(x = Column1, y = value,
                                               fill=Variable), stat = 'identity') + 
  scale_y_continuous("New", sec.axis = sec_axis(~./10, name = "Value"), 
                     position = "left") +
  geom_line(data = DF[DF$Variable!="A",], aes(x = Column1, y = value, group = Variable))
虽然我不能说它看起来很漂亮


()

您就快到了,只需将fill参数更改为group

ggplot(data = DF, aes(x = Column1, y = value, colour = 
                        Variable)) +
  geom_bar(data = DF[DF$Variable == "A",], aes(x = Column1, y = value,
                                               fill=Variable), stat = 'identity') + 
  scale_y_continuous("New", sec.axis = sec_axis(~./10, name = "Value"), 
                     position = "left") +
  geom_line(data = DF[DF$Variable!="A",], aes(x = Column1, y = value, group = Variable))
虽然我不能说它看起来很漂亮


()

为什么有那么多
需要调用
?在代码示例中只使用
ggplot
。为什么有那么多
需要调用
?在代码示例中仅使用
ggplot