2013-08-17 4 views
3

У меня возникли проблемы с получением высокоприоритетного графика работы rCharts. Мои данные и предполагаемый график что-то вроде этого:Форматирование диаграмм Highcharts через rCharts

set.seed(123134) 
y <- rnorm(20, 35, 4) 
y[7] <- NA 
y[13] <- NA 
y <- rbind(t(t(y)), t(t(rep(NA, 10)))) 
fc <- rnorm(10, 35, 1) 
fc <- rbind(t(t(rep(NA,20))), t(t(fc))) 
uci <- rnorm(10, 38, 1) 
uci <- rbind(t(t(rep(NA,20))), t(t(uci))) 
lci <- rnorm(10, 32, 1) 
lci <- rbind(t(t(rep(NA,20))), t(t(lci))) 
plotData <- data.frame(y,fc,uci,lci) 

h1 <- Highcharts$new() 
h1$chart(type="line") 
h1$series(data=plotData$y) 
h1$series(data=plotData$fc) 
h1$series(data=plotData$uci) 
h1$series(data=plotData$lci) 
h1$series(data=rep(30,30)) 
h1 

В основном это некоторые данные наблюдений с пропущенными значениями, прогноз и соответствующих интервалов и определенного предела отображается горизонтальной линией. Теперь есть некоторые вещи, которые я не могу понять:

  1. Я хотел бы иметь прогнозы и интервалы в том же стиле. Как изменить стиль точки этих трех серий в одном стиле?
  2. Горизонтальная линия не обязательно должна быть интерактивной. Есть ли возможность рисовать простую горизонтальную линию? Я не получил его для работы со ссылкой от http://docs.highcharts.com
  3. Как удалить некоторые серии из легенды? В частности, я не хочу, чтобы интервалы включались в легенду.
  4. Есть ли способ интерполяции отсутствующих значений в наблюдаемых данных? Или мне нужно сделать это вручную заранее?

ответ

3

Привет @ user2691669 добро пожаловать в SO. Я постараюсь ответить на ваши 4 вопроса.

  1. Чтобы установить стиль использовать маркер с символом опции = your style
  2. Для удаления маркеров используйте маркер с включенной опцией = FALSE
  3. Чтобы не серия шоу в легенде использовать showInLegend = FALSE
  4. Чтобы интерполировать отсутствует ценности, которые я могу предложить, это connectNulls = TRUE

Ваш код может быть записан для реализации вышеуказанного:

set.seed(123134) 
y <- rnorm(20, 35, 4) 
y[7] <- NA 
y[13] <- NA 
y <- rbind(t(t(y)), t(t(rep(NA, 10)))) 
fc <- rnorm(10, 35, 1) 
fc <- rbind(t(t(rep(NA,20))), t(t(fc))) 
uci <- rnorm(10, 38, 1) 
uci <- rbind(t(t(rep(NA,20))), t(t(uci))) 
lci <- rnorm(10, 32, 1) 
lci <- rbind(t(t(rep(NA,20))), t(t(lci))) 
plotData <- data.frame(y,fc,uci,lci) 

h1 <- Highcharts$new() 
h1$chart(type="line") 
h1$series(data=plotData$y, marker = list(symbol = 'circle'), connectNulls = TRUE) 
h1$series(data=plotData$fc, marker = list(symbol = 'circle'), connectNulls = TRUE) 
h1$series(data=plotData$uci, showInLegend = FALSE, marker = list(symbol = 'square'), connectNulls = TRUE) 
h1$series(data=plotData$lci, showInLegend = FALSE, marker = list(symbol = 'square'), connectNulls = TRUE) 
h1$series(data=rep(30,30), marker= list(enabled = FALSE)) 
h1 

Различные варианты см. В документации HighCharts api. Например, параметры маркера находятся по адресу this link.

+0

Отлично! Спасибо! – CKre

Смежные вопросы