首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改布局DiagrammeR

更改布局DiagrammeR
EN

Stack Overflow用户
提问于 2019-06-25 17:11:49
回答 1查看 298关注 0票数 2

我正试着用R和DiagrammeR做一个扫描电镜图。我已经建立了图表,但我正在尝试在图表的底部有一些节点(CSEW,ONS和警察),以使其更容易阅读。

这是我到目前为止所拥有的。任何关于如何将这三个圈子移到底部的建议都将受到欢迎。

代码语言:javascript
复制
library(DiagrammeR)

grViz("

digraph MTMM {

      subgraph  {
      node [shape = box, fixedsize = true, width = 1]
      rank = same; bike_c; bike_p; bike_o
      burg_c; burg_p; burg_o
      theft_c; theft_p; theft_o
      viol_c; viol_p; viol_o
      }



      subgraph  {
      node [shape = circle, fixedsize = true, width = 1]
       Bicycle; Burglary; Theft; Violence
      }

      subgraph  {
      node [shape = circle, fixedsize = true, width = 1]
      CSEW; ONS; Police

      }


      Bicycle -> {bike_c bike_p bike_o} 
      Burglary -> {burg_c burg_p burg_o}
      Theft -> {theft_c theft_p theft_o}
      Violence -> {viol_c viol_p viol_o}

      CSEW -> {bike_c burg_c theft_c viol_c} [label = '1']
      ONS -> {bike_o burg_o theft_o viol_o} [label = '1'] 
      Police -> {bike_p burg_p theft_p viol_p} [label = '1']

{rank = same; CSEW; ONS; Police}
{rank = same; Bicycle; Burglary; Theft; Violence}

}


      ") 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-25 17:43:08

如果你想让节点A在节点B之上,你必须从A -> B指向,这是graphviz的基本逻辑。如果希望箭头指向另一个方向,可以通过告诉graphviz:A -> B[ dir = back]来实现。

在您的示例中,将相关的三行替换为

代码语言:javascript
复制
  {bike_c burg_c theft_c viol_c} -> CSEW [dir = back, label = '1']
  {bike_o burg_o theft_o viol_o} -> ONS[dir = back, label = '1'] 
  {bike_p burg_p theft_p viol_p} -> Police[dir = back, label = '1']

这给了你

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56750534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档