Интерактивные графы в R с использованием rggobi - PullRequest
4 голосов
/ 17 июля 2010

Из следующего XML-кода:

<?xml version = "1.0"?>
<Company >
 <shareprice>
  <timeStamp> 12:00:00.01</timeStamp>
  <Price>  25.02</Price>
 </shareprice>

 <shareprice>
        <timeStamp> 12:00:00.02</timeStamp>
  <Price>  15</Price>
 </shareprice>



    <shareprice>
        <timeStamp> 12:00:01.025</timeStamp>
        <Price>  15.02</Price>
    </shareprice>

    <shareprice>
        <timeStamp> 12:00:01.031</timeStamp>
        <Price>  18.25</Price>
    </shareprice>



    <shareprice>
        <timeStamp> 12:00:01.039</timeStamp>
        <Price>  18.54</Price>
    </shareprice>

    <shareprice>
        <timeStamp> 12:00:01.050</timeStamp>
        <Price> 16.52</Price>
    </shareprice>


    <shareprice>
        <timeStamp> 12:00:02.01</timeStamp>
        <Price>  17.50</Price>
    </shareprice>

    <shareprice>
        <timeStamp> 12:00:03.01</timeStamp>
        <Price>  25.02</Price>
    </shareprice>

    <shareprice>
        <timeStamp> 12:00:05.02</timeStamp>
        <Price>  30</Price>
    </shareprice>

    <shareprice>
        <timeStamp> 12:00:11.025</timeStamp>
        <Price>  32.25</Price>
    </shareprice>

    <shareprice>
        <timeStamp> 12:00:12.031</timeStamp>
        <Price>  26.05</Price>
    </shareprice>

    <shareprice>
        <timeStamp> 12:00:15.039</timeStamp>
        <Price>  18.54</Price>
    </shareprice>

    <shareprice>
        <timeStamp> 12:00:19.050</timeStamp>
        <Price> 16.52</Price>
    </shareprice>


    <shareprice>
        <timeStamp> 12:01:02.01</timeStamp>
        <Price>  17.50</Price>
    </shareprice>
</Company>

и используя следующий код R:

library(ggplot2)
library (XML)
test.df <- xmlToDataFrame(file.choose())
test.df
sapply(test.df, class) 
test.df$timeStamp <- strptime(as.character(test.df$timeStamp), "%H:%M:%OS")
test.df$Price <- as.numeric(as.character(test.df$Price))
sapply(test.df, class)
options("digits.secs"=3)
summary (test.df)
with(test.df, plot(timeStamp, Price))
sd (test.df$Price)
mean(test.df$timeStamp)
test.df$timeStamp <- test.df[1,"timeStamp"] + cumsum(runif(7)*60)
summary(test.df)
qplot(timeStamp,Price,data=test.df,geom=c("point","line"))
Price <- summary(test.df$Price)
print (Price)

Я хотел бы создать интерактивный график, который позволил бы пользователю щелкнуть точку и получить информацию о значении точки (например, если значение не соответствует причине), я бы хотел указать этот интерактивный график на веб-странице. Для этого было предложено использовать GGOBI, в то время как другие говорят, что можно остаться в R и использовать библиотеку rggobi. Поскольку у меня нет такого опыта, я подумал, что буду просить некоторые указатели напрямую или на конкретный ресурс (можно годами искать в сети и ничего не находить)

Под графиком я хотел бы распечатать сводку цен. В настоящий момент я запускаю код в BATCH-файле в Windows, и он возвращает графики в pdf-файле, но не в виде итоговой распечатки. Есть ли способ настроить файл кода / BATCH так, чтобы он мог создавать интерактивный график и сводку?

Ответы [ 2 ]

2 голосов
/ 17 июля 2010

Энтони, я предполагаю, что вы имели в виду функцию Identify , доступную в GGobi.Вы можете использовать Инструменты> Сохранить описание дисплея и пакет DescribeDisplay, доступные в CRAN, чтобы экспортировать / импортировать график GGplot в R. Вам понадобятся и DescribeDisplay и ggplot2 иливстроенный пакет "graphics", т. е. вы можете использовать как qplot, так и plot для получения графика.

После сохранения описание дисплея можно импортировать с помощью: см. ссылка =)

О функции "click-and-get-info" - RApache вам тоже не поможет!Существуют функции identify и locator, которые работают с graphics и могут помочь вам с щелчком и получением информации в R (см. Maindonald, JH - «Использование R для анализа данных и графики»).- 3.4 Идентификация и расположение на рисунке. Регион , он бесплатный и доступен здесь ), но если вы планируете сделать что-то более амбициозное в Интернете, обратитесь к HTML <map> и <area> тегов, вот пример .Тогда, я думаю, вы будете заниматься магией JavaScript (определение координат и прочее), что, если я могу заметить, довольно амбициозно.

См. Также: graphics::text и ggplot2::geom_text.

2 голосов
/ 17 июля 2010

Ну, для некоторых указателей:

есть Rapache

и вы могли бы сделать рисование с помощью Open Flash Chart

плюс я нашел эту ссылку на тему

HTH

...