Another way of visualizing diffusion

plot_diffnet2(graph, ...)

# S3 method for class 'diffnet'
plot_diffnet2(graph, toa, slice = nslices(graph), ...)

# Default S3 method
plot_diffnet2(
  graph,
  toa,
  pers = min(toa, na.rm = TRUE):max(toa, na.rm = TRUE),
  color.ramp = grDevices::colorRamp(viridisLite::magma(20)),
  layout = NULL,
  key.width = 0.1,
  key.args = list(),
  main = "Diffusion dynamics",
  add.map = NULL,
  diffmap.args = list(kde2d.args = list(n = 100)),
  diffmap.alpha = 0.5,
  include.white = "first",
  vertex.size = "degree",
  minmax.relative.size = getOption("diffnet.minmax.relative.size", c(0.01, 0.04)),
  no.graph = FALSE,
  ...
)

Arguments

graph

Any class of accepted graph format (see netdiffuseR-graphs).

...

Further arguments passed to plot.igraph.

toa

Integer vector of length \(n\) with the times of adoption.

slice

Integer scalar. Number of slice to use as baseline for drawing the graph.

pers

Integer vector of length \(T\) indicating the time periods of the data.

color.ramp

A function as returned by colorRamp.

layout

Passed to plot.igraph.

key.width

Numeric scalar. Sets the proportion of the plot (x-axis) that the key uses.

key.args

List. Further arguments to be passed to drawColorKey.

main

Character scalar. Title of the graph.

add.map

Character scalar. When "first" plots a diffusionMap before the graph itself. If "last" then it adds it at the end. When NULL adds nothing.

diffmap.args

List. If add.map=TRUE, arguments passed to diffusionMap.

diffmap.alpha

Numeric scalar between [0,1]. Alpha level for the map.

include.white

Character scalar. Includes white in the color palette used in the map. When include.white=NULL then it won't include it.

vertex.size

Either a numeric scalar or vector of size \(n\), or any of the following values: "indegree", "degree", or "outdegree" (see details).

minmax.relative.size

Passed to rescale_vertex_igraph.

no.graph

Logical scala. When TRUE the graph is not drawn. This only makes sense when the option add.map is active.

Value

A list with the following elements

layout

A numeric matrix with vertex coordinates.

vertex.color

A character vector with computed colors for each vertex.

vertex.label

The value passed to plot_diffnet2.

vertex.shape

A character vector with assigned shapes.

vertex.size

A numeric vector with vertices sizes

diffmap

If add.map=TRUE, the returned values from diffmap

Details

Plotting is done via the function plot.igraph.

When vertex.size is either of "degree", "indegree", or "outdegree", vertex.size will be replace with dgr(.,cmode = ) so that the vertex size reflects the desired degree.

The argument minmax.relative.size is passed to rescale_vertex_igraph which adjusts vertex.size so that the largest and smallest vertices have a relative size of minmax.relative.size[2] and minmax.relative.size[1] respectively with respect to the x-axis.

If key.width<=0 then no key is created.

By defult, the function passes the following values to plot.igraph:

  • vertex.label equals to ""

  • vertex.frame.color equals to "white"

  • add equals to TRUE

  • rescale equals to FALSE

  • vertex.size equals to rescale.fun(vertex.size)

Author

George G. Vega Yon