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