Three simple/elementary questions for first attempts of using LightGraphs:
M a matrix, command
g = DiGraph(M) produces the graph I’m interested in, but how does LightGraphs know whether
M is meant to be an adjancency matrix or an incidence matrix?
- If an adjacency matrix is assumed, what happes if the non-zero elements of
M are floating point numbers and different from
1.0? Are they converted to
1.0? Or are the numbers preserved and used as, say, some weights?
- Suppose I want to plot the graph using
GraphPlot, and that I have specified different colors for the various nodes using
gplot(g,nodefillc = V) where
V is a vector of colors. Is there a separate keyword for specifying the alpha color, valid for all nodes?
Re 1. I think it is always assumed that the matrix is for adjacency.
Re 2. I guess that the matrix is not actually stored, but only used to fill the adjacency lists of
One thing that is confusing… the documentation talks about
SimpleDiGraph, but I’ve seen some examples where they instead use the constructors
DiGraph. Are the latter synonyms, or names from previous versions of LightGraphs?
In other words: is it more future proof to use
SimpleDiGraph than using
A final question… I have tried to use GraphPlot, which is simple to use and in general ok. However, it does not handle self edges well…
As an example of a much better treatment of self edges, see picture below – taken from Boyd and Vandenberghe’s 2018 Introduction to Applied Linear Algebra.
- Does any of the plot packages for Graph come close to the quality in the above figure?
- Does any of the packages support LaTeX typesetting of math?