OpenMx
Published on OpenMx (https://openmx.ssri.psu.edu)

Home > omxGraphviz help (making path diagrams)

omxGraphviz help (making path diagrams)

Wiki home page [1]OpenMx can output path diagrams using the dot [2] syntax.

You can learn about this language for describing path diagrams at several online [3] tutorials [4].

The R for generating a path diagram from a model is straightforward:

     omxGraphviz(model, dotFilename="")

(currently for RAM models only)

If you leave parameter 2 blank, the dot file will be output into the R console.

Here is a complete example:

require(OpenMx)
data(demoOneFactor)
manifests <- names(demoOneFactor)
latents <- c("G1")
model1 <- mxModel("One Factor", type="RAM",
    manifestVars = manifests,
    latentVars = latents,
    mxPath(from=latents, to=manifests),
    mxPath(from=manifests, arrows=2),
    mxPath(from=latents, arrows=2, free=F, values=1.0),
    mxData(cov(demoOneFactor), type="cov",numObs=500)
)
omxGraphviz(model1, "one-factor-generated.dot")

Rendering the output

dot output is in simple text file describing the latent and manifest variables (nodes) and their connections (edges) of a diagram.

To visualise the diagram, this .dot script must be processed by an application such as graphvis [5].

Other programmes that can open .dot include Omnigraffle [6].

This app does a nice job of rendering .dot http://www.graphviz.org/

This site http://ashitani.jp/gv/ has an online renderer, which is handy for cut and paste: Paste this in to see a sex lim model :-)

t1 [label="Pt1", shape=box]
t2 [label="Pt2", shape=box]

Af -> Am [dir=both, label="ag"]
Cf -> Cm [dir=both, label="eta"]

Af -> t1 [label="af"]
Cf -> t1 [label="cf"]
Ef -> t1 [label="ef"]

Am -> t2 [label="am"]
Cm -> t2 [label="cm"]
Em -> t2 [label="em"]

{rank=min; Af; Cf; Ef; Am; Cm; Em; }; {rank=max; t1; t2};

Copyright © 2007-2019 The OpenMx Project

Powered by Drupal

Source URL: https://openmx.ssri.psu.edu/wiki/omxgraphviz-help-making-path-diagrams

Links
[1] https://openmx.ssri.psu.edu/wiki/main-page
[2] http://en.wikipedia.org/wiki/DOT_language
[3] http://linuxdevcenter.com/pub/a/linux/2004/05/06/graphviz_dot.html
[4] http://www.orient-lodge.com/node/3408
[5] http://www.graphviz.org/
[6] http://www.omnigroup.com/applications/OmniGraffle/