Search code examples
rshinytooltipnvd3.jsrcharts

How to reduce the font size of a tooltip in rnvd3?


I am using the rnvd3 packadge to plot an interactive multibarchart in a Shiny App, and the tooltip of the chart has a big font size and I would like just to reduce it.

Here is my code:

library(shiny)
library(rCharts)
library(shinythemes)
library(shinydashboard)

ui <- navbarPage(title = "Information", 

             tabPanel(title = "Graph",  

                               fluidRow(
                                 column(2),
                                 column(8,
                                        tags$br(),
                                        tags$h5("Chart", style="font-weight: bold; font-size:20px", align = "center"),
                                        tags$br())
                               ),

                              fluidRow(
                                column(1),
                                column(8,
                                       tags$br(),
                                       tags$h5("Exemple", style="font-weight: bold; font-size:14px", align = "center"),
                                       tags$br(),
                                       showOutput("bar","nvd3")), 
                                column(1)
                              )


             )
)

server <- function(input,output, session) { 

output$bar <- renderChart2({

  database2 <- cbind(cbind(c(100,110,140),c("2016-09-05","2016-09-05","2016-09-05")),c("Product A","Product B","Product C"))
  database2[,1] <- as.numeric(database2[,1]) 
  database2[,2] <- as.Date(database2[,2],origin="1899-12-30")
  colnames(database2) <- c("Price","Date","Key")
  database2 <- as.data.frame(database2)

  m1net_eb <- nPlot(Price ~ Date, group = 'Key', data = database2, type='multiBarChart')
  m1net_eb$chart(margin = list(left=60,bottom=110,right=60))
  m1net_eb$chart(forceY = 0)
  m1net_eb$set(lineWidth = 1, width=1100 , height = 700)
  m1net_eb

})

}

shinyApp(ui=ui, server=server)

How could I reduce the font size of the tooltip in this packdge? Please help


Solution

  • Just add

                              tags$head(tags$style(HTML("
                                               .nvtooltip h3 {
                                                  font-size:14px;
                                               }
                                               ")))
    

    Here is the full code.

    library(shiny)
    library(rCharts)
    library(shinythemes)
    library(shinydashboard)
    
    ui <- navbarPage(title = "Information", 
                     tabPanel(title = "Graph",  
    
                              fluidRow(
                                column(2),
                                column(8,
                                       tags$br(),
                                       tags$h5("Chart", style="font-weight: bold; font-size:20px", align = "center"),
                                       tags$br())
                              ),
    
                              fluidRow(
                                column(1),
                                column(8,
                                       tags$br(),
                                       tags$h5("Exemple", style="font-weight: bold; font-size:14px", align = "center"),
                                       tags$br(),
                                       showOutput("bar","nvd3")), 
                                column(1)
                              ),
    
                              tags$head(tags$style(HTML("
                                               .nvtooltip h3 {
                                                  font-size:14px;
                                               }
                                               ")))
    
    
                     )
    )
    
    server <- function(input,output, session) { 
    
      output$bar <- renderChart2({
    
        database2 <- cbind(cbind(c(100,110,140),c("2016-09-05","2016-09-05","2016-09-05")),c("Product A","Product B","Product C"))
        database2[,1] <- as.numeric(database2[,1]) 
        database2[,2] <- as.Date(database2[,2],origin="1899-12-30")
        colnames(database2) <- c("Price","Date","Key")
        database2 <- as.data.frame(database2)
    
        m1net_eb <- nPlot(Price ~ Date, group = 'Key', data = database2, type='multiBarChart')
        m1net_eb$chart(margin = list(left=60,bottom=110,right=60))
        m1net_eb$chart(forceY = 0)
        m1net_eb$set(lineWidth = 1, width=1100 , height = 700)
        m1net_eb
    
      })
    
    }
    
    shinyApp(ui=ui, server=server)