R用大数据集绘制陌生感

时间:2016-04-22 19:16:02

标签: r plot

我有一个数百帧的数据框 - 每个都有两个值。

当我这样绘制时:

    BOOST_FOREACH(boost::filesystem::path const &p, std::make_pair(sub_iterator, eod))
{
    if (boost::filesystem::is_regular_file(p))
    {
        //boost::filesystem::path sampleFile("LicenseIds.xml");
        TRACE("\n *** FOUND GOOD FILE  *** \n");
        //boost::property_tree::read_xml(sampleFile.generic_string(), m_SingleFeatureLicenseTree);
        //std::string fileName = p.filename().c_str();
        boost::property_tree::read_xml(p.generic_string(), m_SingleFeatureLicenseTree);
        m_FeatureLicenseTrees.push_back(*m_SingleFeatureLicenseTree);
    }
}

所有的点都是绘制的,但情节非常繁忙,所以我想我会将它绘制成一条线:

 plot(myData)

但是当x轴没有变化时(即从0变为7e + 07),实际的绘图在大约3e + 07停止,我实际上也没有得到正确的线图。

线路绘图是否有限制?

更新 如果我使用

 plot(myData, type="l")

我得到了正确且可用的输出,但我仍然想知道为什么 plot(myData, type="h") 选项失败如此严重。

进一步更新

我正在绘制一个时间序列 - 这是使用type="l"的一个输出:

Time series plot

这是完全可用的,但有一条线可以让我比较几个输出。

2 个答案:

答案 0 :(得分:0)

高维数据图形表示在数据分析中日益成为问题。实际上,问题不在于创建图表。问题是使图表能够传达我们可以转化为有用知识的信息。请允许我提出一个例子,通过考虑具有一百万个观测值的数据来产生这一点,即不是那么大。

x <- rnorm(10^6, 0, 1)
y <- rnorm(10^6, 0, 1)

让我们绘制它。 R可以轻松管理这样的问题。但我们可以吗?可能不是。 毕竟,我们可以从油墨硬污渍中推断出什么样的信息?也许,只不过是一个尝试在茶叶,咖啡渣或葡萄酒沉淀物的模式中划分未来的时装设计。

plot(x, y)

enter image description here

smoothScatter函数表示不同的方法。它创建了双变量数据的密度图。在那里,我们创建了两个例子。

首先,使用默认值。

smoothScatter(x, y)

enter image description here

其次,指定的带宽略大于默认值,并指定使用不同的符号pch = 3显示五个点。

smoothScatter(x, y, bandwidth=c(5,1)/(1/3), nrpoints=5, pch=3)

enter image description here

如您所见,问题仍未解决。不过,我们可以更好地掌握数据的分布。这种方法仍在开发中,有几个问题需要讨论和发展。如果此方法代表更适合表示大数据集的方法,我建议您访问this blog,仔细讨论该问题。

答案 1 :(得分:0)

对于它的价值,我所拥有的所有证据都是计算机 - 即使它是一块巨大的铁块 - 已经失去记忆。