2013-07-26 11 views
7

Sto utilizzando la funzione rCharts nPlot() per visualizzare grafici a barre raggruppati o raggruppati in base ai dati del tipo di tabella di contingenza. Il "multiBarChart" viene visualizzato in un'applicazione lucida. Di seguito viene fornito un pezzo del codice che uso nella mia applicazione lucida.regolazione delle etichette degli assi Grafico NVD3 in rCharts

graphData <- reactive({ 
    as.data.frame(table(eval(inputVar1()),eval(inputVar2()))) 
    }) 

    output$myChart <- renderChart({ 
    p1 <- nPlot(Freq ~ Var1, group="Var2", data=graphData(), type="multiBarChart") 
    p1$addParams(dom='myChart') 
    return(p1) 
    }) 

Nel mio set di dati, una variabile categoriale ha 16 livelli. Quando questa variabile viene visualizzata lungo l'asse x del "multiBarChart", non vengono visualizzate tutte le etichette. C'è un modo in nPlot per regolare la dimensione del carattere delle etichette degli assi? Sto pensando qualcosa come cex.axis=0.5 o cex.lab=0.5 o qualcosa del genere.

In alternativa, c'è un parametro come las= che mi consente di ruotare l'etichetta dell'asse di 90 gradi e forse avere un grafico più pulito in cui tutte le etichette delle variabili categoriali sono visualizzate lungo l'asse x del grafico.

Qualsiasi consiglio il gruppo potrebbe fornire è molto apprezzato !!

risposta

11

La risposta alla tua domanda può essere trovata here. L'idea di base è impostare l'opzione reduceXTicks su FALSE e scaglionare le etichette.

n1 <- nPlot(value ~ region, data = dat, group = 'variable', 
    type = 'multiBarChart') 
n1$chart(reduceXTicks = FALSE) 
n1$xAxis(staggerLabels = TRUE) 

Se le etichette sono grandi, è possibile controllare le dimensioni del testo tramite CSS. Per ora, dovresti inserire manualmente questo nel tuo codice HTML, ma nella versione futura di rCharts, renderò facile aggiungere arbitrariamente HTML/CSS/JS al tuo grafico, direttamente dalla console R.

<style> 
svg text {font-size: 9px;} 
</style> 
+0

Ha funzionato perfettamente ... grazie Ramnath !! btw ... Love rCharts !! – Chris

+0

Felice che abbia funzionato! – Ramnath

+1

Penso che questo inserisca il codice un po 'meno manualmente '' n1 $ setTemplate (afterScript =' ') '' – PatrickT

Problemi correlati