Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

rCharts-How to add axis lables and Headings to NVD3 chart

Tags:

r

rcharts

I am exploriing rCharts. I got stuck while adding Lables to Y axis and Headings. I am new to rCharts.

This is my sample code

require(rCharts)
n2 <- nPlot(Hours ~ Month, group = "Task", data = cars, type = "multiBarChart",
height = 900, width = 1110)
n2$xAxis(axisLabel = 'Year and Month')
n2

Please help.

like image 927
user3047471 Avatar asked Dec 02 '13 18:12

user3047471


1 Answers

answer supplemented with title examples 2013-12-05

I cannot remember why nvd3 with rCharts does this but we have discovered this in this issue. The method suggested in that issue works, but using margin is probably the more robust method. I have put a quick example together of both ways. Let me know how this works.

      require(rCharts)

      df <- data.frame(x=1:20,y=runif(n=20))

      n1 <- nPlot(
        y~x,
        data=df,
        type="multiBarChart"
      )
      n1$yAxis( axisLabel = "Randomness" )

      #nvd3 draws the label but falls outside the bounds
      #so two ways to fix

      #best way I believe is to set the margin to allow room
      #nvd3 draws at -63, so something bigger than 63
      n1$chart(margin = list(left = 100))
      n1


      #second way as discussed here
      #https://github.com/ramnathv/rCharts/issues/102
      n1$yAxis( axisLabel = "Randomness", width = 40 )
      n1

now let's add a title

There are a couple ways to achieve this. I currently prefer using a script template with rCharts. Here are two examples. An <h3> element is inserted in the rCharts div. The two templates live in this repo if you would like to see how they work.

      #for a local template something like this
      #n1$templates$script <- "./chartWithTitle.html"
      n1$templates$script <- "http://timelyportfolio.github.io/rCharts_nvd3_templates/chartWithTitle.html"
      n1$set(title = "rCharts + nvd3 Power")
      n1

      #using some css style from http://tympanus.net/codrops/2012/11/02/heading-set-styling-with-css/
      #put in a different template 
      n1$templates$script <- "http://timelyportfolio.github.io/rCharts_nvd3_templates/chartWithTitle_styled.html"
      n1
like image 90
timelyportfolio Avatar answered Nov 15 '22 22:11

timelyportfolio