ggdag() is a wrapper to quickly plot DAGs.
Usage
ggdag(
.tdy_dag,
...,
size = 1,
edge_type = c("link_arc", "link", "arc", "diagonal"),
edge_engine = ggdag_option("edge_engine", "ggraph"),
node_size = ggdag_option("node_size", 16),
text_size = ggdag_option("text_size", 3.88),
label_size = ggdag_option("label_size", text_size),
text_col = ggdag_option("text_col", "white"),
label_col = ggdag_option("label_col", "black"),
edge_width = ggdag_option("edge_width", 0.6),
edge_cap = ggdag_option("edge_cap", 8),
arrow_length = ggdag_option("arrow_length", 5),
use_edges = ggdag_option("use_edges", TRUE),
use_nodes = ggdag_option("use_nodes", TRUE),
use_stylized = ggdag_option("use_stylized", FALSE),
use_text = ggdag_option("use_text", TRUE),
use_labels = ggdag_option("use_labels", FALSE),
label_geom = ggdag_option("label_geom", geom_dag_label_repel),
n_edge_points = NULL,
n_node_points = NULL,
unified_legend = TRUE,
key_glyph = NULL,
text = NULL,
label = NULL,
node = deprecated(),
stylized = deprecated()
)Arguments
- .tdy_dag
A
tidy_dagittyordagittyobject- ...
additional arguments passed to
tidy_dagitty()- size
A numeric value scaling the size of all elements in the DAG. This allows you to change the scale of the DAG without changing the proportions.
- edge_type
The type of edge, one of "link_arc", "link", "arc", "diagonal".
- edge_engine
The engine used to draw edges. Either
"ggraph"(default) or"ggarrow". When"ggarrow", edges are drawn using ggarrow geoms, which support additional customization via thearrow_head,arrow_fins,arrow_mid, andcurvatureglobal options (seeggdag_options_set()).- node_size
The size of the nodes.
- text_size
The size of the text.
- label_size
The size of the labels.
- text_col
The color of the text.
- label_col
The color of the labels.
- edge_width
The width of the edges.
- edge_cap
The size of edge caps (the distance between the arrowheads and the node borders).
- arrow_length
The length of arrows on edges.
- use_edges
A logical value. Include a
geom_dag_edges*()function? IfTRUE, which is determined byedge_type.- use_nodes
A logical value. Include
geom_dag_point()?- use_stylized
A logical value. Include
geom_dag_node()?- use_text
A logical value. Include
geom_dag_text()?- use_labels
A logical value. Include a label geom? The specific geom used is controlled by
label_geom.- label_geom
A geom function to use for drawing labels when
use_labels = TRUE. Default isgeom_dag_label_repel. Other options includegeom_dag_label,geom_dag_text_repel,geom_dag_label_repel2, andgeom_dag_text_repel2.- n_edge_points
Number of invisible points to interpolate along each edge for label repulsion. Passed to repel label geoms. Defaults to
NULL(usesStatNodesRepeldefault of 50). Set to 0 to disable.- n_node_points
Target number of invisible skeleton points filling the disc that covers each node for label repulsion: a center point plus four concentric rings, each holding at least six points, so every value from 1 to 16 gives the same 25 points per node. Passed to repel label geoms. Defaults to
NULL(usesStatNodesRepeldefault of 12). Set to 0 to disable. The disc is measured in data units, so it matches the drawn node only on a panel about 180 mm wide; seegeom_dag_label_repel().- unified_legend
A logical value. When
TRUEand bothuse_edgesanduse_nodesareTRUE, creates a unified legend entry showing both nodes and edges in a single key, and hides the separate edge legend. This creates a single, more compact legend. Default isTRUE.- key_glyph
A function to use for drawing the legend key glyph for nodes. If
NULL(the default), the glyph is chosen automatically based on theunified_legendsetting. When provided, this overrides the automatic selection. Common options includedraw_key_dag_point,draw_key_dag_combined, anddraw_key_dag_collider.- text
The bare name of a column to use for
geom_dag_text(). Ifuse_text = TRUE, the default is to usename.- label
The bare name of a column to use for labels. If
use_labels = TRUE, the default is to uselabel.- node
Deprecated.
- stylized
Deprecated.



