| Title: | Draw Network with Data | 
| Version: | 0.0.7 | 
| Description: | Extends the 'ggplot2' plotting system to support network visualization. Inspired by the 'Method 1' in 'ggtree' (G Yu (2018) <doi:10.1093/molbev/msy194>), 'ggtangle' is designed to work with network associated data. | 
| Depends: | R (≥ 4.1.0) | 
| Imports: | ggfun (≥ 0.1.7), ggplot2, ggrepel, igraph, rlang, yulab.utils (≥ 0.1.7) | 
| Suggests: | aplot, cli, ggnewscale, ggtree, knitr, prettydoc, rmarkdown, scatterpie (≥ 0.2.4) | 
| VignetteBuilder: | knitr | 
| License: | Artistic-2.0 | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.3.2 | 
| NeedsCompilation: | no | 
| Packaged: | 2025-06-30 09:31:46 UTC; HUAWEI | 
| Author: | Guangchuang Yu | 
| Maintainer: | Guangchuang Yu <guangchuangyu@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2025-06-30 16:10:02 UTC | 
ggtangle: Draw Network with Data
Description
Extends the 'ggplot2' plotting system to support network visualization. Inspired by the 'Method 1' in 'ggtree' (G Yu (2018) doi:10.1093/molbev/msy194), 'ggtangle' is designed to work with network associated data.
Author(s)
Maintainer: Guangchuang Yu guangchuangyu@gmail.com (ORCID)
category-item network plot
Description
category-item network plot
Usage
cnetplot(
  x,
  layout = igraph::layout_nicely,
  showCategory = 5,
  color_category = "#E5C494",
  size_category = 1,
  color_item = "#B3B3B3",
  size_item = 1,
  color_edge = "grey",
  size_edge = 0.5,
  node_label = "all",
  foldChange = NULL,
  hilight = "none",
  hilight_alpha = 0.3,
  ...
)
## S3 method for class 'list'
cnetplot(
  x,
  layout = igraph::layout_nicely,
  showCategory = 5,
  color_category = "#E5C494",
  size_category = 1,
  color_item = "#B3B3B3",
  size_item = 1,
  color_edge = "grey",
  size_edge = 0.5,
  node_label = "all",
  foldChange = NULL,
  hilight = "none",
  hilight_alpha = 0.3,
  ...
)
Arguments
| x | input object | 
| layout | network layout | 
| showCategory | selected category to be displayed | 
| color_category | color of category node | 
| size_category | relative size of the category | 
| color_item | color of item node | 
| size_item | relative size of the item (e.g., genes) | 
| color_edge | color of edge, e.g., "black". If  | 
| size_edge | relative size of edge | 
| node_label | one of 'all', 'none', 'category', 'item', 'exclusive' or 'share' | 
| foldChange | numeric values to color the item (e.g, foldChange of gene expression values) | 
| hilight | selected category to be highlighted | 
| hilight_alpha | transparent value for not selected to be highlight | 
| ... | additional parameters | 
Drag the nodes of a network to update the layout of the network
Description
Drag the nodes of a network to update the layout of the network
Usage
drag_network(p, g = NULL)
Arguments
| p | the network diagram as a ggplot/gg/ggraph object. | 
| g | an corresponding igraph object. Default is to extract from the 'ggraph' attribute. | 
Value
an updated ggplot/gg/ggraph object
Examples
## Not run: 
library(igraph)
library(ggraph)
flow_info <- data.frame(from = c(1,2,3,3,4,5,6),
                        to = c(5,5,5,6,7,6,7))
g = graph_from_data_frame(flow_info)
p <- ggraph(g, layout='nicely') + geom_node_point() + geom_edge_link() 
pp <- drag_network(p)
## End(Not run)
geom_cnet_label
Description
add labels of cnetplot
Usage
geom_cnet_label(mapping = NULL, data = NULL, node_label = "all", ...)
Arguments
| mapping | aes mapping, default is NULL | 
| data | plot data, default is NULL | 
| node_label | which type of node label to be displayed, see also cnetplot | 
| ... | parameters that passed to  | 
Author(s)
Guangchuang Yu
layer to draw edges of a network
Description
layer to draw edges of a network
Usage
geom_edge(mapping = NULL, data = NULL, geom = geom_segment, ...)
Arguments
| mapping | aesthetic mapping, default is NULL | 
| data | data to plot, default is NULL | 
| geom | geometric layer to draw lines | 
| ... | additional parameter passed to 'geom' | 
Value
line segments layer
Examples
flow_info <- data.frame(from = LETTERS[c(1,2,3,3,4,5,6)],
                        to = LETTERS[c(5,5,5,6,7,6,7)])
dd <- data.frame(
    label = LETTERS[1:7],
    v1 = abs(rnorm(7)),
    v2 = abs(rnorm(7)),
    v3 = abs(rnorm(7))
)
g = igraph::graph_from_data_frame(flow_info)
p <- ggplot(g)  + geom_edge()
library(ggplot2)
library(scatterpie)
p %<+% dd + 
    geom_scatterpie(cols = c("v1", "v2", "v3")) +
    geom_text(aes(label=label), nudge_y = .2) + 
    coord_fixed()
Objects exported from other packages
Description
These objects are imported from other packages. Follow the links below to see their documentation.
- ggfun
- ggplot2
- aes,- geom_label,- geom_point,- geom_segment,- geom_text,- ggplot,- ggsave
- grid