rCharts - Adding second y axis to time series
Asked Answered
E

1

5

Does any of the packaged charting frameworks in rCharts support making a time series plot of two series with different y axis? In the case has anyone an example to share?

I have looked at the documentation there is as well as on the charting frameworks web sites but have not found anything.

Esqueda answered 30/8, 2013 at 14:42 Comment(0)
S
10

This can be done in highcharts and most likely others. I have taken the nice work done here. A simplified version of that is:

library(rCharts)
h <- Highcharts$new()
h$xAxis(categories = c('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
                       'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
h$yAxis(list(list(title = list(text = 'Rainfall'))
             , list(title = list(text = 'Temperature'), opposite = TRUE)
             , list(title = list(text = 'Sea Pressure'), opposite = TRUE))
        )
h$series(name = 'Rainfall', type = 'column', color = '#4572A7',
                data = c(49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4))
h$series(name = 'Temperature', type = 'spline', color = '#89A54E',
                data = c(7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6),
         yAxis = 1)

h$series(name = 'Sea-Level Pressure', type = 'spline', color = '#AA4643',
         data = c(1016, 1016, 1015.9, 1015.5, 1012.3, 1009.5, 1009.6, 1010.2, 1013.1, 1016.9, 1018.2, 1016.7),
         yAxis = 2)
h

Which will hopefully give this chart

enter image description here

Splendent answered 30/8, 2013 at 17:12 Comment(5)
@Ramnath thank you and thanks for all the work you and Thomas Reinholdsson and others have done.Splendent
Thanks you. Realized that Highcharts is commercial software though and would like to use an open library so I keep looking.Esqueda
This code is not working in rCharts as of v0.4.1 anyway. It results in an empty plot. I have opened a ticket on github and hope to see a resolution, as this is exactly what I am trying to do.Karol
@Ramnath, can we also do mirrored x-axis with another label on top, similarly?Ellington
you now ned to wrap the call to yAxis as such: h$yAxis(list(list(title = list(text = 'Rainfall')), list(title = list(text = 'Temperature'), opposite = TRUE), list(title = list(text = 'Sea Pressure'), opposite = TRUE)))Samsara

© 2022 - 2024 — McMap. All rights reserved.