【问题标题】:Implementation of parallel coordinates? [closed]平行坐标的实现? [关闭]
【发布时间】:2010-10-15 13:10:04
【问题描述】:

我想为我的多维结果实现平行坐标。有没有人可以很好地链接到它在 matlab 或 R 中的实现?此外,关于生成平行坐标的最佳工具有什么建议吗?

【问题讨论】:

  • 不知道为什么关闭,这对我来说似乎是合理的。 ggplot2 有一个辅助函数ggpcp(),它允许您使用任何具有标准几何图形的数据框来创建平行坐标图。
  • 您现在可以使用 Plotly 制作交互式平行坐标。看看:plot.ly/r/parallel-coordinates-plot

标签: r matlab plot coordinates


【解决方案1】:

R 解决方案

lattice包是R自带的,包含parallel函数:

 parallel(~iris[1:4] | Species, iris) 

ggplot2 也是你的朋友:

D <- data.frame(Gain = rnorm(20),  
                Trader = factor(LETTERS[1:4]), 
                Day = factor(rep(1:5, each = 4)))
ggplot(D) + 
  geom_line(aes(x = Trader, y = Gain, group = Day, color = Day))

lattice 和 ggplot 需要不同“形状”的输入数据。对于 lattice,它是一种矩阵形式,每一列都是一个表示在一个平行坐标上的变量。对于 ggplot 它是一列(增益)和变量的单独指标(上面的交易者)。 /这就是我使用两个不同示例的原因,而不是在这里混淆数据重塑/。

如果您需要一些快速的东西,那么 lattice 可能适合您。 ggplot 需要一些时间投入。

【讨论】:

  • 对于 ggplot2 解决方案 - 在 GGally 包中还有 ggparcoord 函数。
  • 我正在尝试使用 ggplot,它适用于 20 个项目。但是,如果我生成 40 个项目,那么每天得到 8 个点(例如,第 1 天的 A 中有一条垂直线,因为有 2 个点)。你能告诉我每四点分割线的方法吗?
【解决方案2】:

GGobi 已经拥有了很长时间(因为它的前身 XGobi 已经拥有它)。

您可以通过来自Rrggobi 包访问它。作为开源,你也可以深入了解。

【讨论】:

    【解决方案3】:

    如果您希望使用平行坐标,MATLAB 在统计工具箱中有一个实现:PARALLELCOORDS

    否则,如果您想自己实现一个,基本版本(没有所有的花里胡哨)应该很容易做到:

    load fisheriris            %# load some data
    %#meas = zscore(meas);     %# to normalize the attributes
    h = plot(meas');            %'# plot
    set(gca, 'XTick',1:4, 'XTickLabel',{'SL' 'SW' 'PL' 'PW'}, 'XGrid','on')
    ylabel('feature value'), title('Parallel Coordinates')
    
    %# color according to class label
    c = grp2idx(species);
    clr = lines( numel(c) );
    arrayfun(@(k) set(h(c==k),'Color',clr(k,:)), unique(c))
    

    【讨论】:

    • @downvoter:想解释一下你的反对意见吗? OP 要求提供 R 或 MATLAB 代码;上面的代码工作得很好..
    • 抱歉,我投了反对票,因为我没有注意到这个问题也针对 MATLAB...
    【解决方案4】:

    MASS 包(适用于大多数 R 安装)包括平行坐标的实现。函数parcoord

    来自 Iris 数据集的 ?parcoord -a bit Correct-的示例:

    ir <- rbind(iris3[,,1], iris3[,,2], iris3[,,3])
    parcoord(log(ir)[, c(1, 2, 3, 4)], col = 1 + (0:149)%/%50)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-31
      • 1970-01-01
      • 2017-07-22
      • 2013-06-23
      • 1970-01-01
      • 1970-01-01
      • 2012-06-15
      • 1970-01-01
      相关资源
      最近更新 更多