geom_col의 테두리를 투명하게 만들고 싶습니다. ggplot2를 사용할 때만 작동합니다.
library(ggplot2)
dataToPlot <- data.frame(Freq = c(0.0000000, 0.7092199, 1.4184397, 2.1276596, 2.8368794),
variable = rep('A',5), value = c(43089.76, 62923.17, 35446.15, 29553.76, 22433.08))
p <- ggplot( dataToPlot , aes(x=Freq, y = value, group = variable ) ) + #
# geom_bar(stat = "bin") fill = variable,
geom_col( mapping = aes(col = variable, fill = variable), colour = F, alpha = 0.2, orientation = "x", position = "dodge") +
# scale_linetype(aes(linetype = 0))
guides(color = FALSE)
dev.new(); p
그러나 반짝이는 똑같은 코드는 "오류 : 잘못된 색상 이름 'FALSE'"오류를 제공합니다.
library(ggplot2)
library(shiny)
dataToPlot <- data.frame(Freq = c(0.0000000, 0.7092199, 1.4184397, 2.1276596, 2.8368794),
variable = rep('A',5), value = c(43089.76, 62923.17, 35446.15, 29553.76, 22433.08))
ui <- fluidPage(
useShinyjs(),
fluidRow(
column(8,
plotOutput("plot")
)
)
)
server <- function(input, output) {
output$plot <- renderPlotly({
p <- ggplot( dataToPlot , aes(x=Freq, y = value, group = variable ) ) + #
# geom_bar(stat = "bin") fill = variable,
geom_col( mapping = aes(col = variable, fill = variable), colour = F, alpha = 0.2, orientation = "x", position = "dodge") +
# scale_linetype(aes(linetype = 0))
guides(color = FALSE)
})
}
shinyApp(ui,server)
내가 도대체 뭘 잘못하고있는 겁니까?
당신이하는 실수가 있습니다.
첫째, 패키지 shinyjs
및 plotly
.
둘째, renderPlotly
서버 부분에서 사용 하고 있지만 plotOutput
UI에서 호출 합니다. plotlyOutput
플롯 그래픽을 원하기 때문에 올바른 것은 UI에 있습니다.
다른 한 가지는 : 그래픽의 플롯 유형을 원하기 때문에 ggplot 그래픽 p
을 플롯 그래픽 으로 변환해야합니다 . 따라서 ggplotly(p)
서버 부분에 추가해야합니다 .
마지막으로 테두리 문제를 해결하려면 colour = NA
대신을 사용해야 합니다 colour = FALSE
. 두 번째 방법은 ggplot2에서 작동하지만 플롯에서는 작동하지 않습니다. 이유를 정확히 모르겠습니다. 누군가가 이것을 명확히 할 수있을 것입니다.
따라서 코드는 다음과 같아야합니다.
library(ggplot2)
library(shiny)
library(shinyjs)
library(plotly)
dataToPlot <- data.frame(Freq = c(0.0000000, 0.7092199, 1.4184397, 2.1276596, 2.8368794),
variable = rep('A',5),
value = c(43089.76, 62923.17, 35446.15, 29553.76, 22433.08))
ui <- fluidPage(
useShinyjs(),
fluidRow(
column(8,
plotlyOutput("plot")
)
)
)
server <- function(input, output) {
output$plot <- renderPlotly({
p <- ggplot(dataToPlot , aes(x=Freq, y = value, group = variable)) +
geom_col(mapping = aes(col = variable, fill = variable), colour = NA, alpha = 0.2, orientation = "x", position = "dodge") +
guides(color = FALSE)
ggplotly(p)
})
}
shinyApp(ui,server)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다