Změna GGPLOTLY grafy interakce v R. Lesklé Aplikace

0

Otázka

Rád bych pro grafy v mé lesklé aplikace pro změnu barvy (nebo zvýrazní), když jsem se vznášet nad nimi s myší. Také bych jim pouze výstup hrabě z mého grafu, namísto počítat a x-hodnota.

Zde je, jak to vypadá v mé Lesklé Aplikace: enter image description here

Aby bylo jasno, já bych jako bar, který jsem vznášející se nad obrátit světle modrý (nebo černý obrys), a jen říct, "hrabě: 61735_cs" samozřejmé "fat_infreq(race): Černá".

Níže, jsem připojen reprodukovatelné příklad:

library(shiny)
library(ggplot2)
library(plotly)
library(data.table)
library(shinythemes)
library(forcats)
require(stringi)
require(stringr)
library(scales)
library(ggthemes)
library(plyr)
library(dplyr)
library(readr)
library(tidyr)
library(ggthemes)
library(forcats)
library(xtable)
library(googledrive)
library(googlesheets4)
library(gridExtra)
library(lubridate)
library(DT)
library(vroom)
library(utf8)
library(tableHTML)
library(bslib)
library(devtools)
library(readr)
library(RColorBrewer)

ethnicity <- c("Hispanic", "Non-hispanic","Hispanic","Hispanic","Hispanic","Hispanic","White","White","White","White", 
               "White","Hispanic","Hispanic", "Hispanic","Hispanic","Hispanic","White","White","White","White")
filtered_data <- data.frame(ethnicity)

ui <- fluidPage(

    
    titlePanel("Example"),
        mainPanel(
            plotlyOutput("ethnicity_barplot")
        )
    )

server <- function(input, output) {

    output$ethnicity_barplot <- renderPlotly({
        ggplotly({
            ethnicity_barplot <-ggplot(data = filtered_data, aes(x = fct_infreq(ethnicity))) + 
                geom_bar() + 
                xlab("Ethnicity") + 
                ylab("Number of People") + 
                labs(title = "Ethnicity of Defendants in New York State Courts") + 
                geom_bar(fill = "#327EC2") + 
                theme(panel.background = element_rect(fill = 'white'))+
                theme(plot.background = element_rect(fill = 'white'))+
                theme(plot.title = element_text(hjust = 0.5))+
                theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
                geom_text(stat='count', aes(label=..count..), vjust = -.3)
            
            ethnicity_barplot
        })
    })
}

# Run the application 
shinyApp(ui = ui, server = server)

(Ne všechny balíčky jsou potřeba, jen si nemůžu vzpomenout na ty, které jsou)

r shiny shiny-reactivity shinyapps
2021-11-24 04:41:27
1

Nejlepší odpověď

0
library(tidyverse)
library(shiny)
library(plotly)

ethnicity <- c(
  "Hispanic", "Non-hispanic", "Hispanic", "Hispanic", "Hispanic", "Hispanic", "White", "White", "White", "White",
  "White", "Hispanic", "Hispanic", "Hispanic", "Hispanic", "Hispanic", "White", "White", "White", "White"
)
filtered_data <- data.frame(ethnicity)

ui <- fluidPage(
  titlePanel("Example"),
  mainPanel(
    plotlyOutput("ethnicity_barplot")
  )
)

server <- function(input, output) {
  output$ethnicity_barplot <- renderPlotly({
    ggplotly(
      p = {
        ethnicity_barplot <- ggplot(data = filtered_data, aes(x = fct_infreq(ethnicity))) +
          geom_bar() +
          xlab("Ethnicity") +
          ylab("Number of People") +
          labs(title = "Ethnicity of Defendants in New York State Courts") +
          geom_bar(fill = "#327EC2") +
          theme(panel.background = element_rect(fill = "white")) +
          theme(plot.background = element_rect(fill = "white")) +
          theme(plot.title = element_text(hjust = 0.5)) +
          theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
          geom_text(stat = "count", aes(label = ..count..), vjust = -.3)

        ethnicity_barplot
      },
      # only show the y values (counts) as tooltips
      tooltip = "y"
    ) %>%
      # highlight current label
      layout(hoverlabel = list(bgcolor = "orange"), hoveron = list(bgcolor = "red"))
  })
}

# Run the application
shinyApp(ui = ui, server = server)
2021-11-24 08:56:50

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................