Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.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 ggplot中的闪亮地块不尊重;填写「;plot命令中的参数_R_Ggplot2_Shiny - Fatal编程技术网

R ggplot中的闪亮地块不尊重;填写「;plot命令中的参数

R ggplot中的闪亮地块不尊重;填写「;plot命令中的参数,r,ggplot2,shiny,R,Ggplot2,Shiny,我已经包含了很多示例代码,因为我是Shiny的新手(而且仍然是R的初学者),所以我不确定问题出在哪里 前两个代码块是应用程序的ui.R和server.R,以及输出的图片。 我遇到的问题是,ggplot命令中的“fill”参数没有得到尊重,我在图表中得到了单色输出,而根据DF中的“id”值,直方图中应该有两种不同的颜色 最后一段代码和图像显示了在R-Studio中运行的基本相同的代码,达到了预期的效果。您可以在附带的输出屏幕截图中看到,有两个重叠的直方图由“id”列的值着色 谢谢你的帮助 示例应用

我已经包含了很多示例代码,因为我是Shiny的新手(而且仍然是R的初学者),所以我不确定问题出在哪里

前两个代码块是应用程序的ui.R和server.R,以及输出的图片。 我遇到的问题是,ggplot命令中的“fill”参数没有得到尊重,我在图表中得到了单色输出,而根据DF中的“id”值,直方图中应该有两种不同的颜色

最后一段代码和图像显示了在R-Studio中运行的基本相同的代码,达到了预期的效果。您可以在附带的输出屏幕截图中看到,有两个重叠的直方图由“id”列的值着色

谢谢你的帮助

示例应用程序: 服务器.R

库(闪亮)
图书馆(GG2)

id您正在
aes_字符串中设置
fill
,但您没有传递字符串,而是试图传递向量。您正在混合使用
aes()
aes\u string()。
尝试将它们分开

p <- ggplot(data, aes_string(x=input$feature)) +
    geom_histogram(alpha=0.5, aes(fill=as.factor(id), y=..density..), 
        position='identity', binwidth = input$binSize);

p成功了,谢谢!有没有什么资源可以让我更好地理解aes_字符串和aes之间的区别,以及在哪里使用它们?这是我第二次遇到混淆两者的问题。恐怕我不知道有什么好的参考资料。只是
aes()
与符号一起使用,并在
data=
参数的上下文中进行计算,
aes\u string()
应与字符值而不是未计算的表达式一起使用。后者用于动态指定列。
library(shiny)
library(ggplot2)

id <- sample(0:1, 100, replace=T);
val <- sample(seq(1:25), 100, replace=T);
val2 <- sample(seq(1:10), 100, replace=T);

data <- data.frame(id, val, val2);

# Define the overall UI
shinyUI(

  fluidPage(

    titlePanel("why u no color?"),

    sidebarLayout(

      sidebarPanel(
        selectInput("feature", "Feature:",
                    choices=colnames(data),
                    selected='val'),
        hr(),
        helpText("Select a feature to compare"),

        sliderInput("binSize",
                    "Size of Bins",
                    min = 1,
                    max = 10,
                    value = 2)
    ),

    mainPanel(
      plotOutput("featurePlot")
    )
  )
)
)
# Example Data For help

library(ggplot2)

id <- sample(0:1,100,replace=T)
val <- sample(seq(1:25),100,replace=T)
val2 <-sample(seq(1:10), 100, replace=T)

df <- data.frame(id, val, val2)

ggplot(df, aes(x=val, fill=as.factor(id))) +
  geom_histogram(alpha=0.7, aes(y=..density..), position = 'identity', binwidth=1)
p <- ggplot(data, aes_string(x=input$feature)) +
    geom_histogram(alpha=0.5, aes(fill=as.factor(id), y=..density..), 
        position='identity', binwidth = input$binSize);