使用 rggobi 在 R 中制作交互式图表

4

以下是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库。由于我对此没有任何经验,所以我想寻求一些指针,直接或指向特定资源(在网络上搜索多年仍然找不到任何东西)。
在图表下面,我想打印出价格的摘要。目前我在Windows上运行代码批处理文件,并返回pdf文件中的图表,但没有摘要打印。是否有一种方法可以设置代码/BATCH文件,使其可以生成交互式图表和摘要?

Ggobi与网络无关,您正在寻找错误的技术。 - Dirk Eddelbuettel
3
将来发布文章时,如果您能够将xml加载到R中,并应用所需的所有转换,然后将“dput(dest.df)”的输出粘贴到问题中,而不是发布xml,那将会很好。这将为回答者节省一些步骤。 - JoFrhwld
我下次会尝试。我可以假设在我拥有的R代码结尾处运行dput(test.df),并将structure(list(....粘贴到问题中,我的做法正确吗? - Anthony Keane
2个回答

2

一些指针:

Rapache 可用

您可能可以使用 Open Flash Chart 进行绘图

此外,我在这个主题上找到了这个 链接

希望对你有所帮助


2
安东尼,我假设你指的是GGobi中可用的Identify函数。您可以使用工具>保存显示描述和CRAN上提供的DescribeDisplay包来将GGplot图导出/导入到R中。您需要同时使用DescribeDisplayggplot2或"内置"的graphics包,即您可以使用qplotplot来获取图形。

保存后,可以使用以下方式导入显示描述:请参见链接 =)

关于“点击获取信息”功能-RApache也无法帮助您!有一些与图形相关的identify和locator函数可以帮助您在R中实现点击获取信息(请参阅Maindonald,J.H. - “Using R for Data Analysis and Graphics”-3.4. Identification and Location on the Figure Region,它是免费的,可以在此处获得),但如果您计划在Web上做更多的事情,请参考HTML <map><area>标记,这里有一个示例。然后我想你会使用一些JavaScript魔术(定义坐标等),这是相当雄心勃勃的。
另请参见:graphics::textggplot2::geom_text

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接