All Projects → USCCANA → netplot

USCCANA / netplot

Licence: Unknown, MIT licenses found Licenses found Unknown LICENSE MIT LICENSE.md
Beautiful graph drawing

Programming Languages

r
7636 projects
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to netplot

migraph
Tools for multimodal and multilevel network analysis
Stars: ✭ 25 (-46.81%)
Mutual labels:  network-analysis, igraph
Netdiffuser
netdiffuseR: Analysis of Diffusion and Contagion Processes on Networks
Stars: ✭ 57 (+21.28%)
Mutual labels:  network-visualization, network-analysis
Junet.jl
Julia package for network research
Stars: ✭ 37 (-21.28%)
Mutual labels:  network-visualization, network-analysis
Awesome Community Detection
A curated list of community detection research papers with implementations.
Stars: ✭ 1,874 (+3887.23%)
Mutual labels:  network-analysis, igraph
Graphlayouts
new layout algorithms for network visualizations in R
Stars: ✭ 176 (+274.47%)
Mutual labels:  network-visualization, network-analysis
Netvisix
Netvisix visualizes the network packet flow between hosts
Stars: ✭ 65 (+38.3%)
Mutual labels:  network-visualization, network-analysis
Scapy
Scapy: the Python-based interactive packet manipulation program & library. Supports Python 2 & Python 3.
Stars: ✭ 6,932 (+14648.94%)
Mutual labels:  network-visualization, network-analysis
VOSviewer-Online
VOSviewer Online is a tool for network visualization. It is a web-based version of VOSviewer, a popular tool for constructing and visualizing bibliometric networks.
Stars: ✭ 44 (-6.38%)
Mutual labels:  network-visualization, network-analysis
Workbase
Grakn Workbase (Knowledge IDE)
Stars: ✭ 106 (+125.53%)
Mutual labels:  network-visualization, network-analysis
App
free software application for social network analysis and visualization
Stars: ✭ 94 (+100%)
Mutual labels:  network-visualization, network-analysis
IM GreedyCELF
Source code for blog post at https://hautahi.com/im_greedycelf
Stars: ✭ 24 (-48.94%)
Mutual labels:  network-analysis, igraph
Deepgraph
Analyze Data with Pandas-based Networks. Documentation:
Stars: ✭ 232 (+393.62%)
Mutual labels:  network-visualization, network-analysis
Cyberscan
CyberScan: Network's Forensics ToolKit
Stars: ✭ 280 (+495.74%)
Mutual labels:  network-visualization, network-analysis
Cytoscape.js Expand Collapse
A Cytoscape.js extension to expand/collapse nodes for better management of complexity of compound graphs
Stars: ✭ 83 (+76.6%)
Mutual labels:  network-visualization, network-analysis
Awesome Network Analysis
A curated list of awesome network analysis resources.
Stars: ✭ 2,525 (+5272.34%)
Mutual labels:  network-visualization, network-analysis
multigraph
multigraph: Plot and Manipulate Multigraphs in R
Stars: ✭ 18 (-61.7%)
Mutual labels:  network-visualization, network-analysis
obsidiantools
Obsidian tools - a Python package for analysing an Obsidian.md vault
Stars: ✭ 179 (+280.85%)
Mutual labels:  network-analysis
macvendor
CLI tool which looks up hardware vendor names for network devices based on the macvendors.com API
Stars: ✭ 17 (-63.83%)
Mutual labels:  network-analysis
EgoSplitting
A NetworkX implementation of "Ego-splitting Framework: from Non-Overlapping to Overlapping Clusters" (KDD 2017).
Stars: ✭ 78 (+65.96%)
Mutual labels:  igraph
stripnet
STriP Net: Semantic Similarity of Scientific Papers (S3P) Network
Stars: ✭ 82 (+74.47%)
Mutual labels:  network-analysis

CRAN status CRAN R Build status USC’s Department of Preventive Medicine

netplot

An alternative graph visualization tool that emphasizes aesthetics, providing default parameters that deliver out-of-the-box lovely visualizations.

Some features:

  1. Auto-scaling of vertices using sizes relative to the plotting device.
  2. Embedded edge color mixer.
  3. True curved edges drawing.
  4. User-defined edge curvature.
  5. Nicer vertex frame color.
  6. Better use of space-filling the plotting device.

The package uses the grid plotting system (just like ggplot2).

Installation

You can install the released version of netplot from CRAN with:

install.packages("netplot")

And the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("USCCANA/netplot")

Example

This is a basic example which shows you how to solve a common problem:

library(igraph)
#> 
#> Attaching package: 'igraph'
#> The following objects are masked from 'package:stats':
#> 
#>     decompose, spectrum
#> The following object is masked from 'package:base':
#> 
#>     union
library(netplot)
#> Loading required package: grid
#> 
#> Attaching package: 'netplot'
#> The following object is masked from 'package:igraph':
#> 
#>     ego
set.seed(1)
data("UKfaculty", package = "igraphdata")
l <- layout_with_fr(UKfaculty)

plot(UKfaculty, layout = l) # ala igraph

nplot(UKfaculty, layout = l) # ala netplot

sna::gplot(intergraph::asNetwork(UKfaculty), coord=l)

UKfaculty

# Random names
set.seed(1)
nam <- sample(babynames::babynames$name, vcount(UKfaculty))

ans <- nplot(
  UKfaculty,
  layout                = l,
  vertex.color          = grDevices::hcl.colors(5, "Plasma")[V(UKfaculty)$Group + 1],
  vertex.label          = nam,
  vertex.size.range     = c(.01, .04, 4),
  vertex.label.col      =  "black",
  vertex.label.fontface = "bold",
  bg.col                = "transparent",
  vertex.label.show     = .5,
  vertex.label.range    = c(10, 25),
  edge.width.range      = c(1, 4, 5)
  )


# Plot it!
ans

# With a legend
nplot_legend(
  ans, 
  labels = paste("Group", 1:4),
  pch    = c(21, 21, 21),
  gp     = gpar(fill = grDevices::hcl.colors(5, "Plasma")[2:4])
  )

USairports

# Loading the data
data(USairports, package="igraphdata")

# Generating a layout naively
layout   <- V(USairports)$Position
layout   <- do.call(rbind, lapply(layout, function(x) strsplit(x, " ")[[1]]))
layout[] <- stringr::str_remove(layout, "^[a-zA-Z]+")
layout   <- matrix(as.numeric(layout[]), ncol=2)

# Some missingness
layout[which(!complete.cases(layout)), ] <- apply(layout, 2, mean, na.rm=TRUE)

# Have to rotate it (it doesn't matter the origin)
layout <- netplot:::rotate(layout, c(0,0), pi/2)

# Simplifying the network
net <- simplify(USairports, edge.attr.comb = list(
  weight = "sum",
  name   = "concat",
  Passengers = "sum",
  "ignore"
))

# Getting a pretty color

f <- 1.5
col <- adjustcolor(
  rev(grDevices::hcl.colors(10, alpha = .5))[1],
  red.f = f, blue.f = f, green.f = f
  )

nplot(
  net,
  layout            = layout,
  edge.width        = E(net)$Passengers,
  vertex.color      = col,
  skip.vertex       = TRUE,
  skip.arrows       = TRUE,
  edge.width.range  = c(.75, 4, 4), 
  bg.col            = "black",
  edge.line.breaks  = 10
  )

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].