Могу ли я получить интерактивный график в ggplot2 или rCharts?

structure(list(Date = c("2013-11-17", "2013-11-18", "2013-11-19", 
"2013-11-20", "2013-11-21", "2013-11-22", "2013-11-23", "2013-11-25", 
"2013-11-26", "2013-11-27", "2013-11-28", "2013-11-29", "2013-11-30", 
"2013-12-02", "2013-12-03", "2013-12-04", "2013-12-05", "2013-12-06", 
"2013-12-07", "2013-12-09", "2013-12-10", "2013-12-11", "2013-12-12", 
"2013-12-13", "2013-12-14", "2013-12-16", "2013-12-17", "2013-11-17", 
"2013-11-18", "2013-11-19", "2013-11-20", "2013-11-21", "2013-11-22", 
"2013-11-23", "2013-11-25", "2013-11-26", "2013-11-27", "2013-11-28", 
"2013-11-29", "2013-11-30", "2013-12-01", "2013-12-02", "2013-12-03", 
"2013-12-04", "2013-12-05", "2013-12-06", "2013-12-07", "2013-12-09", 
"2013-12-10", "2013-12-11", "2013-12-12", "2013-12-13", "2013-12-14", 
"2013-12-16", "2013-12-17"), Catagory = structure(c(1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L), .Label = c("build", "client"), class = "factor"), 
    User_Name = c(1L, 4L, 6L, 6L, 5L, 7L, 5L, 5L, 3L, 5L, 2L, 
    4L, 5L, 2L, 3L, 2L, 2L, 5L, 5L, 7L, 3L, 4L, 3L, 4L, 3L, 2L, 
    2L, 1L, 5L, 6L, 6L, 6L, 7L, 5L, 5L, 3L, 5L, 2L, 4L, 5L, 1L, 
    6L, 4L, 5L, 4L, 6L, 5L, 12L, 4L, 4L, 3L, 5L, 5L, 3L, 3L), 
    type = c("obj1", "obj1", "obj1", "obj1", "obj1", "obj1", 
    "obj1", "obj1", "obj1", "obj1", "obj1", "obj1", "obj1", "obj1", 
    "obj1", "obj1", "obj1", "obj1", "obj1", "obj1", "obj1", "obj1", 
    "obj1", "obj1", "obj1", "obj1", "obj1", "obj2", "obj2", "obj2", 
    "obj2", "obj2", "obj2", "obj2", "obj2", "obj2", "obj2", "obj2", 
    "obj2", "obj2", "obj2", "obj2", "obj2", "obj2", "obj2", "obj2", 
    "obj2", "obj2", "obj2", "obj2", "obj2", "obj2", "obj2", "obj2", 
    "obj2")), .Names = c("Date", "Catagory", "User_Name", "type"
), row.names = c(NA, 55L), class = "data.frame")

Использование приведенного ниже кода для создания графика пути для сравнения двух разных переменных во времени.

library(rCharts)

econ <- transform(dat, Date = as.character(Date))
attach(econ)
pic<-rPlot(x="Date",y=c("User_Name"),color="type",data=econ,type="line")

Несмотря на то, что сюжет должен быть интерактивным, нет никаких признаков этого, например, всплывающей подсказки и всего остального. Я не знаю, как добавить интерактивность в ggplot2, поэтому я планировал использовать rCharts для простой интерактивности. может ли кто-нибудь сказать мне, как это сделать в rCharts и в ggplot2, если это вообще возможно. Спасибо, в любом случае.


person Koushik Saha    schedule 03.01.2014    source источник


Ответы (1)


С ggplot2 нет интерактивности (даже это будущее ggplot2). С помощью rPlot вы можете получить интерактивность (функция всплывающей подсказки), если вы используете точку в качестве геометрии или добавляете точечный слой. Например:

library(rCharts)
econ <- transform(dat, Date = as.character(Date))
attach(econ)
pic <- rPlot(User_Name~Date,color="type",data=econ,type="line") 
pic$layer(x = "Date", y = "User_Name", 
           data = econ, type = 'point', size = list(const = 3))
pic
person agstudy    schedule 03.01.2014
comment
Хорошо, добавление всплывающей подсказки слоя работает. но в какой-то момент значение Date, я имею в виду состояние всплывающей подсказки, несколько нежелательно. можете сказать как это исправить? - person Koushik Saha; 03.01.2014
comment
я имею в виду в сгенерированном графике, если вы используете функцию всплывающей подсказки, чтобы увидеть текущее значение этой точки, наведя указатель мыши на точку на графике, вы заметите, что значение даты не в правильном формате. - person Koushik Saha; 03.01.2014