【问题标题】:Mathematica GraphPlot with images带有图像的 Mathematica GraphPlot
【发布时间】:2009-05-20 02:35:04
【问题描述】:

我正在尝试使用GraphPlot 函数来构建Graph,其中每个节点都是一个图像。我想将图像显示为我的顶点。有人知道怎么做吗?

我尝试过这样的事情:

GraphPlot[  Map[If[# > 2.0 , 0, 1] &,
 imgDistT, {2}],  
 VertexRenderingFunction -> (Inset[imgs[[#2]], #1, Center] &) ]

但这不起作用。 imgs 是我的每个顶点编号对应的图像列表。

作为健全性检查,如果我这样做:

GraphPlot[
 Map[If[# > 2.0 , 0, 1] &, imgDistT, {2}], 
 VertexRenderingFunction -> (Inset[Text[#2], #1, Center] &) ]

然后就可以了,它会显示每个节点的顶​​点编号。

【问题讨论】:

    标签: graph wolfram-mathematica


    【解决方案1】:
     imgs = ExampleData /@ ExampleData["TestImage"];
     GraphPlot[{1 -> 4, 1 -> 5, 2 -> 3, 2 -> 4, 2 -> 5, 3 -> 4, 3 -> 5}, 
       VertexRenderingFunction -> (Inset[Image[imgs[[#2]], ImageSize -> 100], #1] &)]
    

    编辑

    -- 去除了中缀符号玩笑--

    【讨论】:

    • 老实说,我不理解对中缀的痴迷。它现在更像是一个笑话:P
    • @yoda 是的。我将在这里结束我的中缀帖子。我只是认为~ 表示法令人困惑,我很少使用它,并且仅用于以这种方式 spelled 的运算符(如 PLUS b、a OR b 等)或类似 JOIN 且含义非常容易理解的运算符.如果没有任何额外的复杂性,Mathematica 程序通常很难遵循。
    • @yoda 等人,有一段时间我在自己的代码中使用中缀表示法,但通常不会在此处发布。但是,在某些情况下,我把它留在里面,我收到了几个“+1 中缀表示法”类型的 cmets,所以我开始发布它。在合理的范围内,我打算在社区认为有价值的情况下格式化我发布的代码。确实,这已经成为一个笑话,而现在我却为此付出了代价。我没有也不会发布类似于上面那行的代码,我也不会写这样的纠结,我相信 belisarius 知道。如果我发布的代码难以阅读,请告诉我。
    • @Mr.请不要把它当作个人。这只是个玩笑。如果它背后的某些东西是真实的,就像许多笑话一样,那就是对于某些人来说,广泛使用中缀表示法更难阅读。请继续发帖,让您感觉更舒服。虽然我一直在开玩笑,但这并不意味着任何不尊重。我来这里是为了学点东西,找点乐子。就是这样。
    • @belisarius 我不认为这是个人行为,也不是要暗示我受到人身攻击。我喜欢你的幽默,即使有时我不明白。请随时保持轻松的态度。 :-) 我想我的问题是我觉得我的立场被歪曲了。具体来说:我不会尝试将中缀形式硬塞进所有内容中,我一开始就假设由于它很少使用,因此对许多人来说更难阅读。当我收到正面的 cmets 时,我开始发布更多它,现在我收到了负面的,我将发布更少。
    【解决方案2】:

    两个可能的问题:

    • 看起来您的图表 Map[If[# > 2.0 , 0, 1] &, imgDistT, {2}] 将包含零和一,但零对于 imgs 数组来说是无效索引

    • 由于缩放问题,图像可能无法正确显示 - 例如,它们可能非常大,只有白色部分可能可见。尝试指定明确的图像大小。

    输出是什么

    GraphPlot[Map[If[# > 2.0 , 0, 1] &, imgDistT, {2}],
     VertexRenderingFunction -> (Module[{tmp = 
           Inset[Image[imgs[[#2]], ImageSize -> 10], #1, Center]}, 
         Print[tmp]; tmp] &)]
    

    ?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-04
      • 1970-01-01
      • 2011-09-11
      • 2011-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多