From 3368e8917e9308517511cb2778317a1edfd5032c Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Thu, 21 Jul 2022 17:20:53 -0500 Subject: [PATCH 01/48] Improve Readme and docstring -distinguish args, kwargs -add missing kwargs --- README.md | 45 ++++++++++++++++++++++++------------ src/plot.jl | 66 ++++++++++++++++++++++++++++++----------------------- 2 files changed, 68 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 63d836a..f5438ca 100644 --- a/README.md +++ b/README.md @@ -133,8 +133,8 @@ gplot(g, linetype="curve") ``` ## Save to figure -```{execute="false"} -using Cairo, Compose +```julia +using Compose # save to pdf draw(PDF("karate.pdf", 16cm, 16cm), gplot(g)) # save to png @@ -150,19 +150,34 @@ gplot(h) ``` # Arguments -+ `G` graph to plot -+ `layout` Optional. layout algorithm. Currently can choose from -[random_layout, circular_layout, spring_layout, stressmajorize_layout, -shell_layout, spectral_layout]. -Default: `spring_layout` -+ `nodelabel` Optional. Labels for the vertices. Default: `nothing` -+ `nodefillc` Optional. Color to fill the nodes with. -Default: `colorant"turquoise"` -+ `nodestrokec` Color for the node stroke. -Default: `nothing` -+ `arrowlengthfrac` Fraction of line length to use for arrows. -Set to 0 for no arrows. Default: 0 for undirected graph and 0.1 for directed graph -+ `arrowangleoffset` angular width in radians for the arrows. Default: `π/9` (20 degrees) ++ `G` Graph to draw ++ `locs_x, locs_y` Locations of the nodes (will be normalized and centered). If not specified, will be obtained from `layout` kwarg. + +# Keyword Arguments ++ `layout` Layout algorithm: `random_layout`, `circular_layout`, `spring_layout`, `shell_layout`, `stressmajorize_layout`, `spectral_layout`. Default: `spring_layout` ++ `NODESIZE` Max size for the nodes. Default: `3.0/sqrt(N)` ++ `nodesize` Relative size for the nodes, can be a Vector. Default: `1.0` ++ `nodelabel` Labels for the vertices, a Vector or nothing. Default: `nothing` ++ `nodelabelc` Color for the node labels, can be a Vector. Default: `colorant"black"` ++ `nodelabeldist` Distances for the node labels from center of nodes. Default: `0.0` ++ `nodelabelangleoffset` Angle offset for the node labels. Default: `π/4.0` ++ `NODELABELSIZE` Largest fontsize for the vertice labels. Default: `4.0` ++ `nodelabelsize` Relative fontsize for the vertice labels, can be a Vector. Default: `1.0` ++ `nodefillc` Color to fill the nodes with, can be a Vector. Default: `colorant"turquoise"` ++ `nodestrokec` Color for the nodes stroke, can be a Vector. Default: `nothing` ++ `nodestrokelw` Line width for the nodes stroke, can be a Vector. Default: `0.0` ++ `edgelabel` Labels for the edges, a Vector or nothing. Default: `[]` ++ `edgelabelc` Color for the edge labels, can be a Vector. Default: `colorant"black"` ++ `edgelabeldistx, edgelabeldisty` Distance for the edge label from center of edge. Default: `0.0` ++ `EDGELABELSIZE` Largest fontsize for the edge labels. Default: `4.0` ++ `edgelabelsize` Relative fontsize for the edge labels, can be a Vector. Default: `1.0` ++ `EDGELINEWIDTH` Max line width for the edges. Default: `0.25/sqrt(N)` ++ `edgelinewidth` Relative line width for the edges, can be a Vector. Default: `1.0` ++ `edgestrokec` Color for the edge strokes, can be a Vector. Default: `colorant"lightgray"` ++ `arrowlengthfrac` Fraction of line length to use for arrows. Equal to 0 for undirected graphs. Default: `0.1` for the directed graphs ++ `arrowangleoffset` Angular width in radians for the arrows. Default: `π/9 (20 degrees)` ++ `linetype` Type of line used for edges ("straight", "curve"). Default: "straight" ++ `outangle` Angular width in radians for the edges (only used if `linetype = "curve`). Default: `π/5 (36 degrees)` # Reporting Bugs diff --git a/src/plot.jl b/src/plot.jl index b38554c..8c4c033 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -10,79 +10,89 @@ a Compose tree of the graph layout `G` Graph to draw +`locs_x, locs_y` +Locations of the nodes. Can be any units you want, +but will be normalized and centered anyway. If not provided, will +be obtained from `layout` kwarg. + +**Keyword Arguments** + `layout` -Optional. Layout algorithm. Currently can be one of [`random_layout`, +Layout algorithm. Currently can be one of [`random_layout`, `circular_layout`, `spring_layout`, `shell_layout`, `stressmajorize_layout`, `spectral_layout`]. Default: `spring_layout` -`locs_x, locs_y` -Locations of the nodes. Can be any units you want, -but will be normalized and centered anyway - `NODESIZE` -Optional. Max size for the nodes. Default: `3.0/sqrt(N)` +Max size for the nodes. Default: `3.0/sqrt(N)` `nodesize` -Optional. Relative size for the nodes, can be a Vector. Default: `1.0` +Relative size for the nodes, can be a Vector. Default: `1.0` `nodelabel` -Optional. Labels for the vertices, a Vector or nothing. Default: `nothing` +Labels for the vertices, a Vector or nothing. Default: `nothing` `nodelabelc` -Optional. Color for the node labels, can be a Vector. Default: `colorant"black"` +Color for the node labels, can be a Vector. Default: `colorant"black"` `nodelabeldist` -Optional. Distances for the node labels from center of nodes. Default: `0.0` +Distances for the node labels from center of nodes. Default: `0.0` `nodelabelangleoffset` -Optional. Angle offset for the node labels. Default: `π/4.0` +Angle offset for the node labels. Default: `π/4.0` `NODELABELSIZE` -Optional. Largest fontsize for the vertice labels. Default: `4.0` +Largest fontsize for the vertice labels. Default: `4.0` `nodelabelsize` -Optional. Relative fontsize for the vertice labels, can be a Vector. Default: `1.0` +Relative fontsize for the vertice labels, can be a Vector. Default: `1.0` `nodefillc` -Optional. Color to fill the nodes with, can be a Vector. Default: `colorant"turquoise"` +Color to fill the nodes with, can be a Vector. Default: `colorant"turquoise"` `nodestrokec` -Optional. Color for the nodes stroke, can be a Vector. Default: `nothing` +Color for the nodes stroke, can be a Vector. Default: `nothing` `nodestrokelw` -Optional. Line width for the nodes stroke, can be a Vector. Default: `0.0` +Line width for the nodes stroke, can be a Vector. Default: `0.0` `edgelabel` -Optional. Labels for the edges, a Vector or nothing. Default: `[]` +Labels for the edges, a Vector or nothing. Default: `[]` `edgelabelc` -Optional. Color for the edge labels, can be a Vector. Default: `colorant"black"` +Color for the edge labels, can be a Vector. Default: `colorant"black"` `edgelabeldistx, edgelabeldisty` -Optional. Distance for the edge label from center of edge. Default: `0.0` +Distance for the edge label from center of edge. Default: `0.0` `EDGELABELSIZE` -Optional. Largest fontsize for the edge labels. Default: `4.0` +Largest fontsize for the edge labels. Default: `4.0` `edgelabelsize` -Optional. Relative fontsize for the edge labels, can be a Vector. Default: `1.0` +Relative fontsize for the edge labels, can be a Vector. Default: `1.0` `EDGELINEWIDTH` -Optional. Max line width for the edges. Default: `0.25/sqrt(N)` +Max line width for the edges. Default: `0.25/sqrt(N)` `edgelinewidth` -Optional. Relative line width for the edges, can be a Vector. Default: `1.0` +Relative line width for the edges, can be a Vector. Default: `1.0` `edgestrokec` -Optional. Color for the edge strokes, can be a Vector. Default: `colorant"lightgray"` +Color for the edge strokes, can be a Vector. Default: `colorant"lightgray"` `arrowlengthfrac` -Optional. Fraction of line length to use for arrows. +Fraction of line length to use for arrows. Equal to 0 for undirected graphs. Default: `0.1` for the directed graphs `arrowangleoffset` -Optional. Angular width in radians for the arrows. Default: `π/9 (20 degrees)` +Angular width in radians for the arrows. Default: `π/9 (20 degrees)` + +`linetype` +Type of line used for edges ("straight", "curve"). Default: "straight" + +`outangle` +Angular width in radians for the edges (only used if `linetype = "curve`). +Default: `π/5 (36 degrees)` """ function gplot(g::AbstractGraph{T}, @@ -108,9 +118,9 @@ function gplot(g::AbstractGraph{T}, nodestrokec = nothing, nodestrokelw = 0.0, arrowlengthfrac = is_directed(g) ? 0.1 : 0.0, - arrowangleoffset = π / 9.0, + arrowangleoffset = π / 9, linetype = "straight", - outangle = pi/5) where {T <:Integer, R <: Real} + outangle = π / 5) where {T <:Integer, R <: Real} length(locs_x_in) != length(locs_y_in) && error("Vectors must be same length") N = nv(g) From febb53bf5f587a7ec12a7bd4663564f27d21f4e4 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Thu, 21 Jul 2022 17:44:03 -0500 Subject: [PATCH 02/48] fix #166 clarify that Cairo is required to visualize in vscode --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f5438ca..e385cee 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Other layout algorithms are wrapped from [NetworkX](https://github.com/networkx/ # Getting Started From the Julia REPL the latest version can be installed with -```{execute="false"} +```julia Pkg.add("GraphPlot") ``` GraphPlot is then loaded with @@ -132,6 +132,10 @@ gplot(g, locs_x, locs_y, nodelabel=nodelabel) gplot(g, linetype="curve") ``` +## Show plot + +When using an IDE such as VSCode, `Cairo.jl` is required to visualize the plot inside the IDE. + ## Save to figure ```julia using Compose From 9bffdd99d381ee4cec8c2b9702a9ed029a856d87 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Thu, 21 Jul 2022 18:02:52 -0500 Subject: [PATCH 03/48] Fix #175 to enable plotting to html Checking for System OS was outdated --- src/plot.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plot.jl b/src/plot.jl index 8c4c033..362ac90 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -241,11 +241,11 @@ end # take from [Gadfly.jl](https://github.com/dcjones/Gadfly.jl) function open_file(filename) - if Sys.KERNEL == :Darwin + if Sys.isapple(Sys.KERNEL) #apple run(`open $(filename)`) - elseif Sys.KERNEL == :Linux || Sys.KERNEL == :FreeBSD + elseif Sys.islinux(Sys.KERNEL) || Sys.isbsd(Sys.KERNEL) #linux run(`xdg-open $(filename)`) - elseif Sys.KERNEL == :Windows + elseif Sys.iswindows(Sys.KERNEL) #windows run(`$(ENV["COMSPEC"]) /c start $(filename)`) else @warn("Showing plots is not supported on OS $(string(Sys.KERNEL))") From 080a1a474edff73a4e9a034c8f90290045b0a20a Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Thu, 21 Jul 2022 18:03:59 -0500 Subject: [PATCH 04/48] Document the use of gplothtml in README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e385cee..e5dd530 100644 --- a/README.md +++ b/README.md @@ -135,6 +135,7 @@ gplot(g, linetype="curve") ## Show plot When using an IDE such as VSCode, `Cairo.jl` is required to visualize the plot inside the IDE. +When using the REPL, `gplothtml` will allow displaying the plot on a browser. ## Save to figure ```julia From 3d32d077c5d3bf73a497dddbca9700b4eca8c014 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Thu, 21 Jul 2022 18:08:05 -0500 Subject: [PATCH 05/48] Update open_file Now matches gadfly.jl (https://github.com/GiovineItalia/Gadfly.jl/blob/master/src/open_file.jl) --- src/plot.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plot.jl b/src/plot.jl index 362ac90..505f9b6 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -241,11 +241,11 @@ end # take from [Gadfly.jl](https://github.com/dcjones/Gadfly.jl) function open_file(filename) - if Sys.isapple(Sys.KERNEL) #apple + if Sys.isapple() #apple run(`open $(filename)`) - elseif Sys.islinux(Sys.KERNEL) || Sys.isbsd(Sys.KERNEL) #linux + elseif Sys.islinux() || Sys.isbsd() #linux run(`xdg-open $(filename)`) - elseif Sys.iswindows(Sys.KERNEL) #windows + elseif Sys.iswindows() #windows run(`$(ENV["COMSPEC"]) /c start $(filename)`) else @warn("Showing plots is not supported on OS $(string(Sys.KERNEL))") From 2c64095c0aee95cbb220224ab8022f1be0209e2f Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Mon, 25 Jul 2022 16:22:21 -0500 Subject: [PATCH 06/48] Minor changes: -allow gplothtml to accept same arguments as gplot -allow x/y-locs to be of different type (<: Real) --- src/plot.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/plot.jl b/src/plot.jl index 505f9b6..af438b7 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -96,7 +96,7 @@ Default: `π/5 (36 degrees)` """ function gplot(g::AbstractGraph{T}, - locs_x_in::Vector{R}, locs_y_in::Vector{R}; + locs_x_in::Vector{R1}, locs_y_in::Vector{R2}; nodelabel = nothing, nodelabelc = colorant"black", nodelabelsize = 1.0, @@ -120,7 +120,7 @@ function gplot(g::AbstractGraph{T}, arrowlengthfrac = is_directed(g) ? 0.1 : 0.0, arrowangleoffset = π / 9, linetype = "straight", - outangle = π / 5) where {T <:Integer, R <: Real} + outangle = π / 5) where {T <:Integer, R1 <: Real, R2 <: Real} length(locs_x_in) != length(locs_y_in) && error("Vectors must be same length") N = nv(g) @@ -253,13 +253,13 @@ function open_file(filename) end # taken from [Gadfly.jl](https://github.com/dcjones/Gadfly.jl) -function gplothtml(g; layout::Function=spring_layout, keyargs...) +function gplothtml(args...; keyargs...) filename = string(tempname(), ".html") output = open(filename, "w") plot_output = IOBuffer() draw(SVGJS(plot_output, Compose.default_graphic_width, - Compose.default_graphic_width, false), gplot(g, layout(g)...; keyargs...)) + Compose.default_graphic_width, false), gplot(args...; keyargs...)) plotsvg = String(take!(plot_output)) write(output, From 222fb26a44cabc046779cf7d74bd5680ba7b2c65 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Mon, 25 Jul 2022 23:26:46 -0500 Subject: [PATCH 07/48] add TagBot to repo --- .github/workflows/tagbot.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/workflows/tagbot.yml diff --git a/.github/workflows/tagbot.yml b/.github/workflows/tagbot.yml new file mode 100644 index 0000000..32a9dd8 --- /dev/null +++ b/.github/workflows/tagbot.yml @@ -0,0 +1,20 @@ +name: TagBot +on: + issue_comment: + types: + - created + workflow_dispatch: + inputs: + lookback: + default: 3 +permissions: + contents: write +jobs: + TagBot: + if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot' + runs-on: ubuntu-latest + steps: + - uses: JuliaRegistries/TagBot@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + ssh: ${{ secrets.DOCUMENTER_KEY }} \ No newline at end of file From 14d62b4d3c829dbc0c3fdfd3ffd5897b0e48ee42 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 26 Jul 2022 11:59:01 -0500 Subject: [PATCH 08/48] Fix #172. set background color (`backgroundc` kwarg): and minor changes to plots.jl update README --- README.md | 1 + src/plot.jl | 30 +++++++++++++++++------------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index e5dd530..0ea4643 100644 --- a/README.md +++ b/README.md @@ -183,6 +183,7 @@ gplot(h) + `arrowangleoffset` Angular width in radians for the arrows. Default: `π/9 (20 degrees)` + `linetype` Type of line used for edges ("straight", "curve"). Default: "straight" + `outangle` Angular width in radians for the edges (only used if `linetype = "curve`). Default: `π/5 (36 degrees)` ++ `backgroundc` Color for the plot background. Default: `nothing` # Reporting Bugs diff --git a/src/plot.jl b/src/plot.jl index af438b7..58b0bc6 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -42,10 +42,10 @@ Distances for the node labels from center of nodes. Default: `0.0` Angle offset for the node labels. Default: `π/4.0` `NODELABELSIZE` -Largest fontsize for the vertice labels. Default: `4.0` +Largest fontsize for the vertex labels. Default: `4.0` `nodelabelsize` -Relative fontsize for the vertice labels, can be a Vector. Default: `1.0` +Relative fontsize for the vertex labels, can be a Vector. Default: `1.0` `nodefillc` Color to fill the nodes with, can be a Vector. Default: `colorant"turquoise"` @@ -94,6 +94,9 @@ Type of line used for edges ("straight", "curve"). Default: "straight" Angular width in radians for the edges (only used if `linetype = "curve`). Default: `π/5 (36 degrees)` +`backgroundc` +Color for the plot background. Default: `nothing` + """ function gplot(g::AbstractGraph{T}, locs_x_in::Vector{R1}, locs_y_in::Vector{R2}; @@ -120,7 +123,8 @@ function gplot(g::AbstractGraph{T}, arrowlengthfrac = is_directed(g) ? 0.1 : 0.0, arrowangleoffset = π / 9, linetype = "straight", - outangle = π / 5) where {T <:Integer, R1 <: Real, R2 <: Real} + outangle = π / 5, + backgroundc = nothing) where {T <:Integer, R1 <: Real, R2 <: Real} length(locs_x_in) != length(locs_y_in) && error("Vectors must be same length") N = nv(g) @@ -169,19 +173,19 @@ function gplot(g::AbstractGraph{T}, # Create nodes nodecircle = fill(0.4Compose.w, length(locs_x)) if isa(nodesize, Real) - for i = 1:length(locs_x) - nodecircle[i] *= nodesize - end - else - for i = 1:length(locs_x) - nodecircle[i] *= nodesize[i] - end - end + for i = 1:length(locs_x) + nodecircle[i] *= nodesize + end + else + for i = 1:length(locs_x) + nodecircle[i] *= nodesize[i] + end + end nodes = circle(locs_x, locs_y, nodecircle) # Create node labels if provided texts = nothing - if nodelabel != nothing + if !isnothing(nodelabel) text_locs_x = deepcopy(locs_x) text_locs_y = deepcopy(locs_y) texts = text(text_locs_x .+ nodesize .* (nodelabeldist * cos(nodelabelangleoffset)), @@ -227,7 +231,7 @@ function gplot(g::AbstractGraph{T}, end end - compose(context(units=UnitBox(-1.2, -1.2, +2.4, +2.4)), + compose(context(units=UnitBox(-1.2, -1.2, +2.4, +2.4)), rectangle(-1.2, -1.2, +2.4, +2.4), fill(backgroundc), compose(context(), texts, fill(nodelabelc), stroke(nothing), fontsize(nodelabelsize)), compose(context(), nodes, fill(nodefillc), stroke(nodestrokec), linewidth(nodestrokelw)), compose(context(), edgetexts, fill(edgelabelc), stroke(nothing), fontsize(edgelabelsize)), From 8274db29efb205f7345e922722cff19bb045be01 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Wed, 27 Jul 2022 00:33:18 -0500 Subject: [PATCH 09/48] add compose child object for background (instead of main level) --- src/plot.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plot.jl b/src/plot.jl index 58b0bc6..98e4348 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -231,7 +231,8 @@ function gplot(g::AbstractGraph{T}, end end - compose(context(units=UnitBox(-1.2, -1.2, +2.4, +2.4)), rectangle(-1.2, -1.2, +2.4, +2.4), fill(backgroundc), + compose(context(units=UnitBox(-1.2, -1.2, +2.4, +2.4)), + compose(context(), rectangle(-1.2, -1.2, +2.4, +2.4), fill(backgroundc)), compose(context(), texts, fill(nodelabelc), stroke(nothing), fontsize(nodelabelsize)), compose(context(), nodes, fill(nodefillc), stroke(nodestrokec), linewidth(nodestrokelw)), compose(context(), edgetexts, fill(edgelabelc), stroke(nothing), fontsize(edgelabelsize)), From 074ce86cf4edccf718cb57a0150463efe2822264 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Wed, 27 Jul 2022 10:52:28 -0500 Subject: [PATCH 10/48] rename to `background_color` + add test --- README.md | 2 +- src/plot.jl | 8 ++++---- test/data/karate_background_color.png | Bin 0 -> 73012 bytes test/runtests.jl | 5 +++++ 4 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 test/data/karate_background_color.png diff --git a/README.md b/README.md index 0ea4643..897efcf 100644 --- a/README.md +++ b/README.md @@ -183,7 +183,7 @@ gplot(h) + `arrowangleoffset` Angular width in radians for the arrows. Default: `π/9 (20 degrees)` + `linetype` Type of line used for edges ("straight", "curve"). Default: "straight" + `outangle` Angular width in radians for the edges (only used if `linetype = "curve`). Default: `π/5 (36 degrees)` -+ `backgroundc` Color for the plot background. Default: `nothing` ++ `background_color` Color for the plot background. Default: `nothing` # Reporting Bugs diff --git a/src/plot.jl b/src/plot.jl index 98e4348..2f710f2 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -94,7 +94,7 @@ Type of line used for edges ("straight", "curve"). Default: "straight" Angular width in radians for the edges (only used if `linetype = "curve`). Default: `π/5 (36 degrees)` -`backgroundc` +`background_color` Color for the plot background. Default: `nothing` """ @@ -124,7 +124,7 @@ function gplot(g::AbstractGraph{T}, arrowangleoffset = π / 9, linetype = "straight", outangle = π / 5, - backgroundc = nothing) where {T <:Integer, R1 <: Real, R2 <: Real} + background_color = nothing) where {T <:Integer, R1 <: Real, R2 <: Real} length(locs_x_in) != length(locs_y_in) && error("Vectors must be same length") N = nv(g) @@ -232,12 +232,12 @@ function gplot(g::AbstractGraph{T}, end compose(context(units=UnitBox(-1.2, -1.2, +2.4, +2.4)), - compose(context(), rectangle(-1.2, -1.2, +2.4, +2.4), fill(backgroundc)), compose(context(), texts, fill(nodelabelc), stroke(nothing), fontsize(nodelabelsize)), compose(context(), nodes, fill(nodefillc), stroke(nodestrokec), linewidth(nodestrokelw)), compose(context(), edgetexts, fill(edgelabelc), stroke(nothing), fontsize(edgelabelsize)), compose(context(), arrows, stroke(edgestrokec), linewidth(edgelinewidth)), - compose(context(), lines, stroke(edgestrokec), fill(nothing), linewidth(edgelinewidth))) + compose(context(), lines, stroke(edgestrokec), fill(nothing), linewidth(edgelinewidth)), + compose(context(), rectangle(-1.2, -1.2, +2.4, +2.4), fill(background_color))) end function gplot(g; layout::Function=spring_layout, keyargs...) diff --git a/test/data/karate_background_color.png b/test/data/karate_background_color.png new file mode 100644 index 0000000000000000000000000000000000000000..430e108e959af860f4597fa5852fc825d9668888 GIT binary patch literal 73012 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 save_comparison |> success + + # test background color + plot_and_save4(fname) = plot_and_save(fname, g, background_color=colorant"lightyellow") + refimg4 = joinpath(datadir, "karate_background_color.png") + @test test_images(VisualTest(plot_and_save4, refimg4), popup=!istravis) |> save_comparison |> success end @testset "WheelGraph" begin From 4c1f900c3b26a07ff27b7145771d8c13888e8d67 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Wed, 27 Jul 2022 11:18:59 -0500 Subject: [PATCH 11/48] fixed #149 --- src/layout.jl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/layout.jl b/src/layout.jl index 2a9956b..0bac592 100644 --- a/src/layout.jl +++ b/src/layout.jl @@ -205,20 +205,20 @@ function shell_layout(g, nlist::Union{Nothing, Vector{Vector{Int}}} = nothing) if nv(g) == 1 return [0.0], [0.0] end - if nlist == nothing + if isnothing(nlist) nlist = [collect(1:nv(g))] end radius = 0.0 if length(nlist[1]) > 1 radius = 1.0 end - locs_x = Float64[] - locs_y = Float64[] + locs_x = zeros(nv(g)) + locs_y = zeros(nv(g)) for nodes in nlist # Discard the extra angle since it matches 0 radians. θ = range(0, stop=2pi, length=length(nodes)+1)[1:end-1] - append!(locs_x, radius*cos.(θ)) - append!(locs_y, radius*sin.(θ)) + locs_x[nodes] = radius*cos.(θ) + locs_y[nodes] = radius*sin.(θ) radius += 1.0 end return locs_x, locs_y From 424413374fea6c15701218be53df70f8d932e9a9 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Wed, 27 Jul 2022 23:31:21 -0500 Subject: [PATCH 12/48] support changing plot size (fixes #94, #147) uses Colorant.set_default_graphic_size --- README.md | 1 + src/plot.jl | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e5dd530..cceac9c 100644 --- a/README.md +++ b/README.md @@ -183,6 +183,7 @@ gplot(h) + `arrowangleoffset` Angular width in radians for the arrows. Default: `π/9 (20 degrees)` + `linetype` Type of line used for edges ("straight", "curve"). Default: "straight" + `outangle` Angular width in radians for the edges (only used if `linetype = "curve`). Default: `π/5 (36 degrees)` ++ `plot_size` Tuple of measures for width x height of plot area. Default: `nothing` # Reporting Bugs diff --git a/src/plot.jl b/src/plot.jl index af438b7..c2aed36 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -94,6 +94,9 @@ Type of line used for edges ("straight", "curve"). Default: "straight" Angular width in radians for the edges (only used if `linetype = "curve`). Default: `π/5 (36 degrees)` +`plot_size` +Tuple of measures for width x height of plot area. Default: `nothing` + """ function gplot(g::AbstractGraph{T}, locs_x_in::Vector{R1}, locs_y_in::Vector{R2}; @@ -120,7 +123,9 @@ function gplot(g::AbstractGraph{T}, arrowlengthfrac = is_directed(g) ? 0.1 : 0.0, arrowangleoffset = π / 9, linetype = "straight", - outangle = π / 5) where {T <:Integer, R1 <: Real, R2 <: Real} + outangle = π / 5, + plot_size = nothing + ) where {T <:Integer, R1 <: Real, R2 <: Real} length(locs_x_in) != length(locs_y_in) && error("Vectors must be same length") N = nv(g) @@ -227,6 +232,12 @@ function gplot(g::AbstractGraph{T}, end end + if !isnothing(plot_size) + if length(plot_size) != 2 || !isa(plot_size[1], Compose.AbsoluteLength) || !isa(plot_size[2], Compose.AbsoluteLength) + error("`plot_size` must be a Tuple of lengths or `nothing`") + end + Compose.set_default_graphic_size(plot_size...) + end compose(context(units=UnitBox(-1.2, -1.2, +2.4, +2.4)), compose(context(), texts, fill(nodelabelc), stroke(nothing), fontsize(nodelabelsize)), compose(context(), nodes, fill(nodefillc), stroke(nodestrokec), linewidth(nodestrokelw)), From 8347d8672cc27c8515ed0339f89378c686b7df68 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Mon, 1 Aug 2022 19:43:59 -0500 Subject: [PATCH 13/48] update default `plot_size` to Compose.jl default --- README.md | 2 +- src/plot.jl | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index cceac9c..86aed8a 100644 --- a/README.md +++ b/README.md @@ -183,7 +183,7 @@ gplot(h) + `arrowangleoffset` Angular width in radians for the arrows. Default: `π/9 (20 degrees)` + `linetype` Type of line used for edges ("straight", "curve"). Default: "straight" + `outangle` Angular width in radians for the edges (only used if `linetype = "curve`). Default: `π/5 (36 degrees)` -+ `plot_size` Tuple of measures for width x height of plot area. Default: `nothing` ++ `plot_size` Tuple of measures for width x height of plot area. Default: `(sqrt(2)*10cm, 10cm)` # Reporting Bugs diff --git a/src/plot.jl b/src/plot.jl index c2aed36..9f3e4c0 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -95,7 +95,7 @@ Angular width in radians for the edges (only used if `linetype = "curve`). Default: `π/5 (36 degrees)` `plot_size` -Tuple of measures for width x height of plot area. Default: `nothing` +Tuple of measures for width x height for plot area. Default: `(sqrt(2)*10cm, 10cm)` """ function gplot(g::AbstractGraph{T}, @@ -124,7 +124,7 @@ function gplot(g::AbstractGraph{T}, arrowangleoffset = π / 9, linetype = "straight", outangle = π / 5, - plot_size = nothing + plot_size = (sqrt(2)*10cm, 10cm) ) where {T <:Integer, R1 <: Real, R2 <: Real} length(locs_x_in) != length(locs_y_in) && error("Vectors must be same length") @@ -232,12 +232,10 @@ function gplot(g::AbstractGraph{T}, end end - if !isnothing(plot_size) - if length(plot_size) != 2 || !isa(plot_size[1], Compose.AbsoluteLength) || !isa(plot_size[2], Compose.AbsoluteLength) - error("`plot_size` must be a Tuple of lengths or `nothing`") - end - Compose.set_default_graphic_size(plot_size...) + if length(plot_size) != 2 || !isa(plot_size[1], Compose.AbsoluteLength) || !isa(plot_size[2], Compose.AbsoluteLength) + error("`plot_size` must be a Tuple of lengths or `nothing`") end + Compose.set_default_graphic_size(plot_size...) compose(context(units=UnitBox(-1.2, -1.2, +2.4, +2.4)), compose(context(), texts, fill(nodelabelc), stroke(nothing), fontsize(nodelabelsize)), compose(context(), nodes, fill(nodefillc), stroke(nodestrokec), linewidth(nodestrokelw)), From 36a80056a7cf821c095021d0845ee8e29c683c12 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Mon, 1 Aug 2022 22:05:44 -0500 Subject: [PATCH 14/48] Fix #107 -Allow add title -Set title color and size -Set font family for entire plot -Remove unneded Compose objects (the ones with `nothing` as the arg) --- README.md | 4 ++++ src/plot.jl | 26 ++++++++++++++++++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e5dd530..6ba959b 100644 --- a/README.md +++ b/README.md @@ -160,6 +160,10 @@ gplot(h) # Keyword Arguments + `layout` Layout algorithm: `random_layout`, `circular_layout`, `spring_layout`, `shell_layout`, `stressmajorize_layout`, `spectral_layout`. Default: `spring_layout` ++ `title` Plot title. Default: `""` ++ `title_color` Plot title color. Default: `colorant"black"` ++ `title_size` Plot title size. Default: `4.0` ++ `font_family` Font family for all text. Default: `"Helvetica"` + `NODESIZE` Max size for the nodes. Default: `3.0/sqrt(N)` + `nodesize` Relative size for the nodes, can be a Vector. Default: `1.0` + `nodelabel` Labels for the vertices, a Vector or nothing. Default: `nothing` diff --git a/src/plot.jl b/src/plot.jl index af438b7..4ca56fa 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -23,6 +23,18 @@ Layout algorithm. Currently can be one of [`random_layout`, `spectral_layout`]. Default: `spring_layout` +`title` +Plot title. Default: `""` + +`title_color` +Plot title color. Default: `colorant"black"` + +`title_size` +Plot title size. Default: `4.0` + +`font_family` +Font family for all text. Default: `"Helvetica"` + `NODESIZE` Max size for the nodes. Default: `3.0/sqrt(N)` @@ -97,6 +109,10 @@ Default: `π/5 (36 degrees)` """ function gplot(g::AbstractGraph{T}, locs_x_in::Vector{R1}, locs_y_in::Vector{R2}; + title = "", + title_color = colorant"black", + title_size = 4.0, + font_family = "Helvetica", nodelabel = nothing, nodelabelc = colorant"black", nodelabelsize = 1.0, @@ -227,12 +243,14 @@ function gplot(g::AbstractGraph{T}, end end - compose(context(units=UnitBox(-1.2, -1.2, +2.4, +2.4)), - compose(context(), texts, fill(nodelabelc), stroke(nothing), fontsize(nodelabelsize)), + title_offset = isempty(title) ? 0 : 0.3 + compose(context(units=UnitBox(-1.2, -1.2 - title_offset, +2.4, +2.4 + title_offset)), + compose(context(), text(0,-1.2,title), fill(title_color), fontsize(title_size), font(font_family)), + compose(context(), texts, fill(nodelabelc), fontsize(nodelabelsize), font(font_family)), compose(context(), nodes, fill(nodefillc), stroke(nodestrokec), linewidth(nodestrokelw)), - compose(context(), edgetexts, fill(edgelabelc), stroke(nothing), fontsize(edgelabelsize)), + compose(context(), edgetexts, fill(edgelabelc), fontsize(edgelabelsize), font(font_family)), compose(context(), arrows, stroke(edgestrokec), linewidth(edgelinewidth)), - compose(context(), lines, stroke(edgestrokec), fill(nothing), linewidth(edgelinewidth))) + compose(context(), lines, stroke(edgestrokec), linewidth(edgelinewidth))) end function gplot(g; layout::Function=spring_layout, keyargs...) From c2f707947921496244b5e886ca69167419807048 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 2 Aug 2022 06:19:30 -0500 Subject: [PATCH 15/48] scale title margin with title font size --- src/plot.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plot.jl b/src/plot.jl index 4ca56fa..59a63f0 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -243,9 +243,9 @@ function gplot(g::AbstractGraph{T}, end end - title_offset = isempty(title) ? 0 : 0.3 + title_offset = isempty(title) ? 0 : 0.1*title_size/4 compose(context(units=UnitBox(-1.2, -1.2 - title_offset, +2.4, +2.4 + title_offset)), - compose(context(), text(0,-1.2,title), fill(title_color), fontsize(title_size), font(font_family)), + compose(context(), text(0, -1.2 - title_offset/2, title, hcenter, vcenter), fill(title_color), fontsize(title_size), font(font_family)), compose(context(), texts, fill(nodelabelc), fontsize(nodelabelsize), font(font_family)), compose(context(), nodes, fill(nodefillc), stroke(nodestrokec), linewidth(nodestrokelw)), compose(context(), edgetexts, fill(edgelabelc), fontsize(edgelabelsize), font(font_family)), From f1f276040eeecbc4e23bc09613ed8d44ed42ab4a Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 2 Aug 2022 09:07:49 -0500 Subject: [PATCH 16/48] Fix #160 make self-loop edges curved behavior is regardless of the linetype --- src/GraphPlot.jl | 2 ++ src/lines.jl | 46 ++++++++++++++++++++++++++++++++++++++++++++++ src/plot.jl | 29 ++++++++++------------------- 3 files changed, 58 insertions(+), 19 deletions(-) diff --git a/src/GraphPlot.jl b/src/GraphPlot.jl index c1738c1..13a0a0e 100644 --- a/src/GraphPlot.jl +++ b/src/GraphPlot.jl @@ -2,6 +2,8 @@ module GraphPlot using Compose # for plotting features using Graphs +using LinearAlgebra +using SparseArrays const gadflyjs = joinpath(dirname(Base.source_path()), "gadfly.js") diff --git a/src/lines.jl b/src/lines.jl index 4589641..e3d0a48 100644 --- a/src/lines.jl +++ b/src/lines.jl @@ -201,3 +201,49 @@ function curveedge(x1, y1, x2, y2, θ, outangle, d; k=0.5) return [(x1,y1) (xc1, yc1) (xc2, yc2) (x2, y2)] end + +function build_curved_edges(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) + if arrowlengthfrac > 0.0 + curves_cord, arrows_cord = graphcurve(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) + curves = curve(curves_cord[:,1], curves_cord[:,2], curves_cord[:,3], curves_cord[:,4]) + carrows = line(arrows_cord) + else + curves_cord = graphcurve(g, locs_x, locs_y, nodesize, outangle) + curves = curve(curves_cord[:,1], curves_cord[:,2], curves_cord[:,3], curves_cord[:,4]) + carrows = nothing + end + + return curves, carrows +end + +function build_straight_edges(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset) + if arrowlengthfrac > 0.0 + lines_cord, arrows_cord = graphline(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset) + lines = line(lines_cord) + larrows = line(arrows_cord) + else + lines_cord = graphline(g, locs_x, locs_y, nodesize) + lines = line(lines_cord) + larrows = nothing + end + + return lines, larrows +end + +function build_straight_curved_edges(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) + A = adjacency_matrix(g) #adjacency matrix + B = spdiagm(diag(A)) #diagonal matrix (self-loops) + A[diagind(A)] .= 0 #set diagonal elements to 0 (remove self-loops) + if is_directed(g) + g1 = SimpleDiGraph(A) + g2 = SimpleDiGraph(B) + else + g1 = SimpleGraph(A) + g2 = SimpleGraph(B) + end + + lines, larrows = build_straight_edges(g1, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset) + curves, carrows = build_curved_edges(g2, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) + + return lines, larrows, curves, carrows +end \ No newline at end of file diff --git a/src/plot.jl b/src/plot.jl index af438b7..e1b91e2 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -206,33 +206,24 @@ function gplot(g::AbstractGraph{T}, end # Create lines and arrow heads - lines, arrows = nothing, nothing + lines, larrows = nothing, nothing + curves, carrows = nothing, nothing if linetype == "curve" - if arrowlengthfrac > 0.0 - curves_cord, arrows_cord = graphcurve(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) - lines = curve(curves_cord[:,1], curves_cord[:,2], curves_cord[:,3], curves_cord[:,4]) - arrows = line(arrows_cord) - else - curves_cord = graphcurve(g, locs_x, locs_y, nodesize, outangle) - lines = curve(curves_cord[:,1], curves_cord[:,2], curves_cord[:,3], curves_cord[:,4]) - end + curves, carrows = build_curved_edges(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) + elseif has_self_loops(g) + lines, larrows, curves, carrows = build_straight_curved_edges(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) else - if arrowlengthfrac > 0.0 - lines_cord, arrows_cord = graphline(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset) - lines = line(lines_cord) - arrows = line(arrows_cord) - else - lines_cord = graphline(g, locs_x, locs_y, nodesize) - lines = line(lines_cord) - end + lines, larrows = build_straight_edges(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset) end compose(context(units=UnitBox(-1.2, -1.2, +2.4, +2.4)), compose(context(), texts, fill(nodelabelc), stroke(nothing), fontsize(nodelabelsize)), compose(context(), nodes, fill(nodefillc), stroke(nodestrokec), linewidth(nodestrokelw)), compose(context(), edgetexts, fill(edgelabelc), stroke(nothing), fontsize(edgelabelsize)), - compose(context(), arrows, stroke(edgestrokec), linewidth(edgelinewidth)), - compose(context(), lines, stroke(edgestrokec), fill(nothing), linewidth(edgelinewidth))) + compose(context(), larrows, stroke(edgestrokec), linewidth(edgelinewidth)), + compose(context(), carrows, stroke(edgestrokec), linewidth(edgelinewidth)), + compose(context(), lines, stroke(edgestrokec), fill(nothing), linewidth(edgelinewidth)), + compose(context(), curves, stroke(edgestrokec), fill(nothing), linewidth(edgelinewidth))) end function gplot(g; layout::Function=spring_layout, keyargs...) From f0015caa96cbfe6d7130d5b3431d2b44c40880a2 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 2 Aug 2022 09:10:53 -0500 Subject: [PATCH 17/48] add padding option for margins -relevant for plots with curved self-loops and long node labels --- README.md | 1 + src/plot.jl | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 86aed8a..be421c2 100644 --- a/README.md +++ b/README.md @@ -184,6 +184,7 @@ gplot(h) + `linetype` Type of line used for edges ("straight", "curve"). Default: "straight" + `outangle` Angular width in radians for the edges (only used if `linetype = "curve`). Default: `π/5 (36 degrees)` + `plot_size` Tuple of measures for width x height of plot area. Default: `(sqrt(2)*10cm, 10cm)` ++ `leftpad, rightpad, toppad, bottompad` Padding for the plot margins. Default: `0mm` # Reporting Bugs diff --git a/src/plot.jl b/src/plot.jl index 9f3e4c0..9daa358 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -97,6 +97,8 @@ Default: `π/5 (36 degrees)` `plot_size` Tuple of measures for width x height for plot area. Default: `(sqrt(2)*10cm, 10cm)` +`leftpad, rightpad, toppad, bottompad` +Padding for the plot margins. Default: `0mm` """ function gplot(g::AbstractGraph{T}, locs_x_in::Vector{R1}, locs_y_in::Vector{R2}; @@ -124,7 +126,11 @@ function gplot(g::AbstractGraph{T}, arrowangleoffset = π / 9, linetype = "straight", outangle = π / 5, - plot_size = (sqrt(2)*10cm, 10cm) + plot_size = (sqrt(2)*10cm, 10cm), + leftpad = 0mm, + rightpad = 0mm, + toppad = 0mm, + bottompad = 0mm ) where {T <:Integer, R1 <: Real, R2 <: Real} length(locs_x_in) != length(locs_y_in) && error("Vectors must be same length") @@ -236,7 +242,7 @@ function gplot(g::AbstractGraph{T}, error("`plot_size` must be a Tuple of lengths or `nothing`") end Compose.set_default_graphic_size(plot_size...) - compose(context(units=UnitBox(-1.2, -1.2, +2.4, +2.4)), + compose(context(units=UnitBox(-1.2, -1.2, +2.4, +2.4; leftpad, rightpad, toppad, bottompad)), compose(context(), texts, fill(nodelabelc), stroke(nothing), fontsize(nodelabelsize)), compose(context(), nodes, fill(nodefillc), stroke(nodestrokec), linewidth(nodestrokelw)), compose(context(), edgetexts, fill(edgelabelc), stroke(nothing), fontsize(edgelabelsize)), From 4f72c075548ecf62267360952c065c7a7879a66b Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 2 Aug 2022 09:24:19 -0500 Subject: [PATCH 18/48] Fix #154 Multiple dispatch was messing up because types were not specified for spring layout and `kws` not preceeded by `;` --- src/layout.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/layout.jl b/src/layout.jl index 2a9956b..41af4c6 100644 --- a/src/layout.jl +++ b/src/layout.jl @@ -102,11 +102,11 @@ julia> locs_x, locs_y = spring_layout(g) ``` """ function spring_layout(g::AbstractGraph, - locs_x=2*rand(nv(g)).-1.0, - locs_y=2*rand(nv(g)).-1.0; + locs_x::Vector{R1}=2*rand(nv(g)).-1.0, + locs_y::Vector{R2}=2*rand(nv(g)).-1.0; C=2.0, MAXITER=100, - INITTEMP=2.0) + INITTEMP=2.0) where {R1 <: Real, R2 <: Real} nvg = nv(g) adj_matrix = adjacency_matrix(g) @@ -174,7 +174,7 @@ end using Random: MersenneTwister -function spring_layout(g::AbstractGraph, seed::Integer, kws...) +function spring_layout(g::AbstractGraph, seed::Integer; kws...) rng = MersenneTwister(seed) spring_layout(g, 2 .* rand(rng, nv(g)) .- 1.0, 2 .* rand(rng,nv(g)) .- 1.0; kws...) end From 37e7b8174155f1b566302ce71d53506946662117 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Fri, 5 Aug 2022 08:02:51 -0500 Subject: [PATCH 19/48] update error msg --- src/plot.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plot.jl b/src/plot.jl index 9daa358..e6222d0 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -239,7 +239,7 @@ function gplot(g::AbstractGraph{T}, end if length(plot_size) != 2 || !isa(plot_size[1], Compose.AbsoluteLength) || !isa(plot_size[2], Compose.AbsoluteLength) - error("`plot_size` must be a Tuple of lengths or `nothing`") + error("`plot_size` must be a Tuple of lengths") end Compose.set_default_graphic_size(plot_size...) compose(context(units=UnitBox(-1.2, -1.2, +2.4, +2.4; leftpad, rightpad, toppad, bottompad)), From af16ff12e111078498416f6d502da7ba40f33121 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Fri, 5 Aug 2022 08:43:08 -0500 Subject: [PATCH 20/48] update background rectangle to cover padded area --- src/plot.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/plot.jl b/src/plot.jl index e70fdfc..8d68d14 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -264,12 +264,12 @@ function gplot(g::AbstractGraph{T}, compose(context(), text(0, -1.2 - title_offset/2, title, hcenter, vcenter), fill(title_color), fontsize(title_size), font(font_family)), compose(context(), texts, fill(nodelabelc), fontsize(nodelabelsize), font(font_family)), compose(context(), nodes, fill(nodefillc), stroke(nodestrokec), linewidth(nodestrokelw)), - compose(context(), edgetexts, fill(edgelabelc), stroke(nothing), fontsize(edgelabelsize)), + compose(context(), edgetexts, fill(edgelabelc), fontsize(edgelabelsize)), compose(context(), larrows, stroke(edgestrokec), linewidth(edgelinewidth)), compose(context(), carrows, stroke(edgestrokec), linewidth(edgelinewidth)), - compose(context(), lines, stroke(edgestrokec), fill(nothing), linewidth(edgelinewidth)), - compose(context(), curves, stroke(edgestrokec), fill(nothing), linewidth(edgelinewidth)), - compose(context(), rectangle(plot_area...), fill(background_color))) + compose(context(), lines, stroke(edgestrokec), linewidth(edgelinewidth)), + compose(context(), curves, stroke(edgestrokec), linewidth(edgelinewidth)), + compose(context(units=UnitBox(plot_area...)), rectangle(plot_area...), fill(background_color))) end function gplot(g; layout::Function=spring_layout, keyargs...) From c16f8ee145e985de69d6d5146582c937ef78a717 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 9 Aug 2022 18:10:14 -0500 Subject: [PATCH 21/48] add conversion to floats for input locations to avoid error when Ints are passed --- src/layout.jl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/layout.jl b/src/layout.jl index 4474f90..1886a44 100644 --- a/src/layout.jl +++ b/src/layout.jl @@ -102,8 +102,8 @@ julia> locs_x, locs_y = spring_layout(g) ``` """ function spring_layout(g::AbstractGraph, - locs_x::Vector{R1}=2*rand(nv(g)).-1.0, - locs_y::Vector{R2}=2*rand(nv(g)).-1.0; + locs_x_in::Vector{R1}=2*rand(nv(g)).-1.0, + locs_y_in::Vector{R2}=2*rand(nv(g)).-1.0; C=2.0, MAXITER=100, INITTEMP=2.0) where {R1 <: Real, R2 <: Real} @@ -119,6 +119,10 @@ function spring_layout(g::AbstractGraph, force_x = zeros(nvg) force_y = zeros(nvg) + # Convert locs to float + locs_x = float.(locs_x_in) + locs_y = float.(locs_y_in) + # Iterate MAXITER times @inbounds for iter = 1:MAXITER # Calculate forces From fb074d92c9823cba9bc5a84006d4be797c858e10 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 9 Aug 2022 18:10:29 -0500 Subject: [PATCH 22/48] use float instead of Float64 --- src/plot.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plot.jl b/src/plot.jl index 8d68d14..07c0fc3 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -163,8 +163,8 @@ function gplot(g::AbstractGraph{T}, error("Must have one label per edge (or none)") end - locs_x = Float64.(locs_x_in) - locs_y = Float64.(locs_y_in) + locs_x = float.(locs_x_in) + locs_y = float.(locs_y_in) # Scale to unit square min_x, max_x = extrema(locs_x) From 905f7108773703c329b0fc2fe3c735533e69e244 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 9 Aug 2022 18:10:37 -0500 Subject: [PATCH 23/48] add tests for layouts --- test/runtests.jl | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/test/runtests.jl b/test/runtests.jl index b9aaa65..52c2c88 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -112,3 +112,35 @@ end @test test_images(VisualTest(plot_and_save2, refimg2), popup=!istravis) |> save_comparison |> success end + +@testset "Spring Layout" begin + g1 = path_digraph(3) + x1, y1 = spring_layout(g1, 0; C = 1) + @test all(isapprox.(x1, [1.0, -0.014799825222963192, -1.0])) + @test all(isapprox.(y1, [-1.0, 0.014799825222963303, 1.0])) +end + +@testset "Circular Layout" begin + #single node + g1 = SimpleGraph(1) + x1,y1 = circular_layout(g1) + @test iszero(x1) + @test iszero(y1) + #2 nodes + g2 = SimpleGraph(2) + x2,y2 = circular_layout(g2) + @test all(isapprox.(x2, [1.0, -1.0])) + @test all(isapprox.(y2, [0.0, 1.2246467991473532e-16])) +end + +@testset "Shell Layout" begin + #continuous nlist + g = SimpleGraph(6) + x1,y1 = shell_layout(g,[[1,2,3],[4,5,6]]) + @test all(isapprox.(x1, [1.0, -0.4999999999999998, -0.5000000000000004, 2.0, -0.9999999999999996, -1.0000000000000009])) + @test all(isapprox.(y1, [0.0, 0.8660254037844387, -0.8660254037844385, 0.0, 1.7320508075688774, -1.732050807568877])) + #skipping positions + x2,y2 = shell_layout(g,[[1,3,5],[2,4,6]]) + @test all(isapprox.(x2, [1.0, 2.0, -0.4999999999999998, -0.9999999999999996, -0.5000000000000004, -1.0000000000000009])) + @test all(isapprox.(y2, [0.0, 0.0, 0.8660254037844387, 1.7320508075688774, -0.8660254037844385, -1.732050807568877])) +end \ No newline at end of file From 9aafb860cdfcd8cdb866e486d7e82c9e3417ebda Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Thu, 11 Aug 2022 12:17:47 -0500 Subject: [PATCH 24/48] update compat; remove ColorTypes --- Project.toml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Project.toml b/Project.toml index f6ed3ec..fde45b0 100644 --- a/Project.toml +++ b/Project.toml @@ -5,7 +5,6 @@ version = "0.5.2" [deps] ArnoldiMethod = "ec485272-7323-5ecc-a04f-4719b315124d" -ColorTypes = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" Compose = "a81c6b42-2e10-5240-aca2-a61377ecd94b" DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" @@ -15,9 +14,8 @@ Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [compat] -ArnoldiMethod = "0.0.4, 0.1, 0.2" -ColorTypes = "0.9, 0.10, 0.11" -Colors = "0.11, 0.12" -Compose = "0.8, 0.9" +ArnoldiMethod = "0.2" +Colors = "0.12" +Compose = "0.9" Graphs = "1.4" -julia = "1.3" +julia = "1.6" From 26cdd26bc343851f24f7a18141f7063cad589ac5 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Thu, 11 Aug 2022 13:24:33 -0400 Subject: [PATCH 25/48] avoid unnecessary allocation if locs are already Floats MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Simon Schölly --- src/layout.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/layout.jl b/src/layout.jl index 1886a44..35e775d 100644 --- a/src/layout.jl +++ b/src/layout.jl @@ -120,8 +120,8 @@ function spring_layout(g::AbstractGraph, force_y = zeros(nvg) # Convert locs to float - locs_x = float.(locs_x_in) - locs_y = float.(locs_y_in) + locs_x = convert(Vector{Float64, locs_x_in}) + locs_y = convert(Vector{Float64, locs_y_in)) # Iterate MAXITER times @inbounds for iter = 1:MAXITER From a7c7b1199d1a68743252ce42ab470ae8e95d1c62 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Thu, 11 Aug 2022 12:26:05 -0500 Subject: [PATCH 26/48] avoid allocation in gplot if locs are floats. fix typo --- src/layout.jl | 2 +- src/plot.jl | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/layout.jl b/src/layout.jl index 35e775d..64dbffc 100644 --- a/src/layout.jl +++ b/src/layout.jl @@ -121,7 +121,7 @@ function spring_layout(g::AbstractGraph, # Convert locs to float locs_x = convert(Vector{Float64, locs_x_in}) - locs_y = convert(Vector{Float64, locs_y_in)) + locs_y = convert(Vector{Float64, locs_y_in}) # Iterate MAXITER times @inbounds for iter = 1:MAXITER diff --git a/src/plot.jl b/src/plot.jl index 07c0fc3..ae1a031 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -163,8 +163,8 @@ function gplot(g::AbstractGraph{T}, error("Must have one label per edge (or none)") end - locs_x = float.(locs_x_in) - locs_y = float.(locs_y_in) + locs_x = convert(Vector{Float64, locs_x_in}) + locs_y = convert(Vector{Float64, locs_y_in}) # Scale to unit square min_x, max_x = extrema(locs_x) From d3fbc96bc36e5be2681f794cede7b7a47def047f Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Thu, 11 Aug 2022 22:53:22 -0500 Subject: [PATCH 27/48] update ci.yml to julia 1.6 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bd8d7a9..e3942e3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: fail-fast: false matrix: version: - - '1.3' # Replace this with the minimum Julia version that your package supports. E.g. if your package requires Julia 1.5 or higher, change this to '1.5'. + - '1.6' # Replace this with the minimum Julia version that your package supports. E.g. if your package requires Julia 1.5 or higher, change this to '1.5'. - '1' # Leave this line unchanged. '1' will automatically expand to the latest stable 1.x release of Julia. - 'nightly' os: From d6c10c91f5b0b8ff7d2104f6680ee32d5b77e7d8 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Thu, 11 Aug 2022 22:58:56 -0500 Subject: [PATCH 28/48] bug fix --- src/layout.jl | 4 ++-- src/plot.jl | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/layout.jl b/src/layout.jl index 64dbffc..b24c38d 100644 --- a/src/layout.jl +++ b/src/layout.jl @@ -120,8 +120,8 @@ function spring_layout(g::AbstractGraph, force_y = zeros(nvg) # Convert locs to float - locs_x = convert(Vector{Float64, locs_x_in}) - locs_y = convert(Vector{Float64, locs_y_in}) + locs_x = convert(Vector{Float64}, locs_x_in) + locs_y = convert(Vector{Float64}, locs_y_in) # Iterate MAXITER times @inbounds for iter = 1:MAXITER diff --git a/src/plot.jl b/src/plot.jl index ae1a031..2314441 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -163,8 +163,8 @@ function gplot(g::AbstractGraph{T}, error("Must have one label per edge (or none)") end - locs_x = convert(Vector{Float64, locs_x_in}) - locs_y = convert(Vector{Float64, locs_y_in}) + locs_x = convert(Vector{Float64}, locs_x_in) + locs_y = convert(Vector{Float64}, locs_y_in) # Scale to unit square min_x, max_x = extrema(locs_x) From 29f9eb05ec4dd49ebc330e015ab58539abaa0ecc Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Mon, 22 Aug 2022 15:37:16 -0500 Subject: [PATCH 29/48] add `pad` kwarg to override indvidual paddings --- README.md | 2 +- src/plot.jl | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4f8354e..f900b96 100644 --- a/README.md +++ b/README.md @@ -190,7 +190,7 @@ gplot(h) + `background_color` Color for the plot background. Default: `nothing` + `plot_size` Tuple of measures for width x height of plot area. Default: `(sqrt(2)*10cm, 10cm)` + `leftpad, rightpad, toppad, bottompad` Padding for the plot margins. Default: `0mm` - ++ `pad` Padding for plot margins (overrides individual padding if given). Default: `nothing` # Reporting Bugs Filing an issue to report a bug, counterintuitive behavior, or even to request a feature is extremely valuable in helping me prioritize what to work on, so don't hestitate. diff --git a/src/plot.jl b/src/plot.jl index 2314441..1f96f13 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -114,6 +114,9 @@ Tuple of measures for width x height for plot area. Default: `(sqrt(2)*10cm, 10c `leftpad, rightpad, toppad, bottompad` Padding for the plot margins. Default: `0mm` + +`pad` +Padding for plot margins (overrides individual padding if given). Default: `nothing` """ function gplot(g::AbstractGraph{T}, locs_x_in::Vector{R1}, locs_y_in::Vector{R2}; @@ -150,13 +153,14 @@ function gplot(g::AbstractGraph{T}, leftpad = 0mm, rightpad = 0mm, toppad = 0mm, - bottompad = 0mm + bottompad = 0mm, + pad = nothing ) where {T <:Integer, R1 <: Real, R2 <: Real} length(locs_x_in) != length(locs_y_in) && error("Vectors must be same length") N = nv(g) NE = ne(g) - if nodelabel != nothing && length(nodelabel) != N + if !isnothing(nodelabel) && length(nodelabel) != N error("Must have one label per node (or none)") end if !isempty(edgelabel) && length(edgelabel) != NE @@ -240,11 +244,11 @@ function gplot(g::AbstractGraph{T}, lines, larrows = nothing, nothing curves, carrows = nothing, nothing if linetype == "curve" - curves, carrows = build_curved_edges(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) + curves, carrows = build_curved_edges(edges(g), locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) elseif has_self_loops(g) lines, larrows, curves, carrows = build_straight_curved_edges(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) else - lines, larrows = build_straight_edges(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset) + lines, larrows = build_straight_edges(edges(g), locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset) end # Set plot_size @@ -258,6 +262,11 @@ function gplot(g::AbstractGraph{T}, # Plot area size plot_area = (-1.2, -1.2 - title_offset, +2.4, +2.4 + title_offset) + + # Plot padding + if !isnothing(pad) + leftpad, rightpad, toppad, bottompad = pad, pad, pad, pad + end # Build figure compose(context(units=UnitBox(plot_area...; leftpad, rightpad, toppad, bottompad)), From 37ee92230647a18d7cc54955074b3759bc301ac4 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Mon, 22 Aug 2022 15:37:43 -0500 Subject: [PATCH 30/48] make lines more robust when self-loops involved --- src/lines.jl | 93 ++++++++++++++++++++++++++-------------------------- 1 file changed, 46 insertions(+), 47 deletions(-) diff --git a/src/lines.jl b/src/lines.jl index e3d0a48..6ee76dd 100644 --- a/src/lines.jl +++ b/src/lines.jl @@ -1,10 +1,11 @@ """ Return lines and arrow heads """ -function graphline(g, locs_x, locs_y, nodesize::Vector{T}, arrowlength, angleoffset) where {T<:Real} - lines = Array{Vector{Tuple{Float64,Float64}}}(undef, ne(g)) - arrows = Array{Vector{Tuple{Float64,Float64}}}(undef, ne(g)) - for (e_idx, e) in enumerate(edges(g)) +function graphline(edge_list, locs_x, locs_y, nodesize::Vector{T}, arrowlength, angleoffset) where {T<:Real} + num_edges = length(edge_list) + lines = Array{Vector{Tuple{Float64,Float64}}}(undef, num_edges) + arrows = Array{Vector{Tuple{Float64,Float64}}}(undef, num_edges) + for (e_idx, e) in enumerate(edge_list) i = src(e) j = dst(e) Δx = locs_x[j] - locs_x[i] @@ -21,10 +22,11 @@ function graphline(g, locs_x, locs_y, nodesize::Vector{T}, arrowlength, angleoff lines, arrows end -function graphline(g::AbstractGraph{T}, locs_x, locs_y, nodesize::Real, arrowlength, angleoffset) where {T<:Integer} - lines = Array{Vector{Tuple{Float64,Float64}}}(undef, ne(g)) - arrows = Array{Vector{Tuple{Float64,Float64}}}(undef, ne(g)) - for (e_idx, e) in enumerate(edges(g)) +function graphline(edge_list, locs_x, locs_y, nodesize::Real, arrowlength, angleoffset) + num_edges = length(edge_list) + lines = Array{Vector{Tuple{Float64,Float64}}}(undef, num_edges) + arrows = Array{Vector{Tuple{Float64,Float64}}}(undef, num_edges) + for (e_idx, e) in enumerate(edge_list) i = src(e) j = dst(e) Δx = locs_x[j] - locs_x[i] @@ -41,9 +43,10 @@ function graphline(g::AbstractGraph{T}, locs_x, locs_y, nodesize::Real, arrowlen lines, arrows end -function graphline(g::AbstractGraph{T}, locs_x, locs_y, nodesize::Vector{<:Real}) where {T<:Integer} - lines = Array{Vector{Tuple{Float64,Float64}}}(undef, ne(g)) - for (e_idx, e) in enumerate(edges(g)) +function graphline(edge_list, locs_x, locs_y, nodesize::Vector{T}) where {T<:Real} + num_edges = length(edge_list) + lines = Array{Vector{Tuple{Float64,Float64}}}(undef, num_edges) + for (e_idx, e) in enumerate(edge_list) i = src(e) j = dst(e) Δx = locs_x[j] - locs_x[i] @@ -58,9 +61,10 @@ function graphline(g::AbstractGraph{T}, locs_x, locs_y, nodesize::Vector{<:Real} lines end -function graphline(g::AbstractGraph{T}, locs_x, locs_y, nodesize::Real) where {T<:Integer} - lines = Array{Vector{Tuple{Float64,Float64}}}(undef, ne(g)) - for (e_idx, e) in enumerate(edges(g)) +function graphline(edge_list, locs_x, locs_y, nodesize::Real) + num_edges = length(edge_list) + lines = Array{Vector{Tuple{Float64,Float64}}}(undef, num_edges) + for (e_idx, e) in enumerate(edge_list) i = src(e) j = dst(e) Δx = locs_x[j] - locs_x[i] @@ -75,10 +79,11 @@ function graphline(g::AbstractGraph{T}, locs_x, locs_y, nodesize::Real) where {T return lines end -function graphcurve(g::AbstractGraph{T}, locs_x, locs_y, nodesize::Vector{<:Real}, arrowlength, angleoffset, outangle=pi/5) where {T<:Integer} - curves = Matrix{Tuple{Float64,Float64}}(undef, ne(g), 4) - arrows = Array{Vector{Tuple{Float64,Float64}}}(undef, ne(g)) - for (e_idx, e) in enumerate(edges(g)) +function graphcurve(edge_list, locs_x, locs_y, nodesize::Vector{T}, arrowlength, angleoffset, outangle=pi/5) where {T<:Real} + num_edges = length(edge_list) + curves = Matrix{Tuple{Float64,Float64}}(undef, num_edges, 4) + arrows = Array{Vector{Tuple{Float64,Float64}}}(undef, num_edges) + for (e_idx, e) in enumerate(edge_list) i = src(e) j = dst(e) Δx = locs_x[j] - locs_x[i] @@ -103,10 +108,11 @@ function graphcurve(g::AbstractGraph{T}, locs_x, locs_y, nodesize::Vector{<:Real return curves, arrows end -function graphcurve(g, locs_x, locs_y, nodesize::Real, arrowlength, angleoffset, outangle=pi/5) - curves = Matrix{Tuple{Float64,Float64}}(undef, ne(g), 4) - arrows = Array{Vector{Tuple{Float64,Float64}}}(undef, ne(g)) - for (e_idx, e) in enumerate(edges(g)) +function graphcurve(edge_list, locs_x, locs_y, nodesize::Real, arrowlength, angleoffset, outangle=pi/5) + num_edges = length(edge_list) + curves = Matrix{Tuple{Float64,Float64}}(undef, num_edges, 4) + arrows = Array{Vector{Tuple{Float64,Float64}}}(undef, num_edges) + for (e_idx, e) in enumerate(edge_list) i = src(e) j = dst(e) Δx = locs_x[j] - locs_x[i] @@ -131,9 +137,10 @@ function graphcurve(g, locs_x, locs_y, nodesize::Real, arrowlength, angleoffset, return curves, arrows end -function graphcurve(g, locs_x, locs_y, nodesize::Real, outangle) - curves = Matrix{Tuple{Float64,Float64}}(undef, ne(g), 4) - for (e_idx, e) in enumerate(edges(g)) +function graphcurve(edge_list, locs_x, locs_y, nodesize::Real, outangle) + num_edges = length(edge_list) + curves = Matrix{Tuple{Float64,Float64}}(undef, num_edges, 4) + for (e_idx, e) in enumerate(edge_list) i = src(e) j = dst(e) Δx = locs_x[j] - locs_x[i] @@ -155,9 +162,10 @@ function graphcurve(g, locs_x, locs_y, nodesize::Real, outangle) return curves end -function graphcurve(g::AbstractGraph{T}, locs_x, locs_y, nodesize::Vector{<:Real}, outangle) where {T<:Integer} - curves = Matrix{Tuple{Float64,Float64}}(undef, ne(g), 4) - for (e_idx, e) in enumerate(edges(g)) +function graphcurve(edge_list, locs_x, locs_y, nodesize::Vector{T}, outangle) where {T<:Real} + num_edges = length(edge_list) + curves = Matrix{Tuple{Float64,Float64}}(undef, num_edges, 4) + for (e_idx, e) in enumerate(edge_list) i = src(e) j = dst(e) Δx = locs_x[j] - locs_x[i] @@ -202,13 +210,13 @@ function curveedge(x1, y1, x2, y2, θ, outangle, d; k=0.5) return [(x1,y1) (xc1, yc1) (xc2, yc2) (x2, y2)] end -function build_curved_edges(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) +function build_curved_edges(edge_list, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) if arrowlengthfrac > 0.0 - curves_cord, arrows_cord = graphcurve(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) + curves_cord, arrows_cord = graphcurve(edge_list, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) curves = curve(curves_cord[:,1], curves_cord[:,2], curves_cord[:,3], curves_cord[:,4]) carrows = line(arrows_cord) else - curves_cord = graphcurve(g, locs_x, locs_y, nodesize, outangle) + curves_cord = graphcurve(edge_list, locs_x, locs_y, nodesize, outangle) curves = curve(curves_cord[:,1], curves_cord[:,2], curves_cord[:,3], curves_cord[:,4]) carrows = nothing end @@ -216,13 +224,13 @@ function build_curved_edges(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowa return curves, carrows end -function build_straight_edges(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset) +function build_straight_edges(edge_list, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset) if arrowlengthfrac > 0.0 - lines_cord, arrows_cord = graphline(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset) + lines_cord, arrows_cord = graphline(edge_list, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset) lines = line(lines_cord) larrows = line(arrows_cord) else - lines_cord = graphline(g, locs_x, locs_y, nodesize) + lines_cord = graphline(edge_list, locs_x, locs_y, nodesize) lines = line(lines_cord) larrows = nothing end @@ -231,19 +239,10 @@ function build_straight_edges(g, locs_x, locs_y, nodesize, arrowlengthfrac, arro end function build_straight_curved_edges(g, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) - A = adjacency_matrix(g) #adjacency matrix - B = spdiagm(diag(A)) #diagonal matrix (self-loops) - A[diagind(A)] .= 0 #set diagonal elements to 0 (remove self-loops) - if is_directed(g) - g1 = SimpleDiGraph(A) - g2 = SimpleDiGraph(B) - else - g1 = SimpleGraph(A) - g2 = SimpleGraph(B) - end - - lines, larrows = build_straight_edges(g1, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset) - curves, carrows = build_curved_edges(g2, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) + edge_list1 = filter(e -> src(e) != dst(e), collect(edges(g))) + edge_list2 = filter(e -> src(e) == dst(e), collect(edges(g))) + lines, larrows = build_straight_edges(edge_list1, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset) + curves, carrows = build_curved_edges(edge_list2, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) return lines, larrows, curves, carrows end \ No newline at end of file From c391c55c873482eea1c00011b14cf2cfecf17b6d Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 23 Aug 2022 10:42:37 -0500 Subject: [PATCH 31/48] remove deps to LinAlg and SparseArrays now that not needed for mixed edge styles. --- Project.toml | 2 -- 1 file changed, 2 deletions(-) diff --git a/Project.toml b/Project.toml index fde45b0..023f3af 100644 --- a/Project.toml +++ b/Project.toml @@ -9,9 +9,7 @@ Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" Compose = "a81c6b42-2e10-5240-aca2-a61377ecd94b" DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6" -LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" -SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [compat] ArnoldiMethod = "0.2" From b86848ee1c286071061f7ccae895ce1d791e2bb6 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 23 Aug 2022 10:44:40 -0500 Subject: [PATCH 32/48] remove using statements --- src/GraphPlot.jl | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/GraphPlot.jl b/src/GraphPlot.jl index 13a0a0e..c1738c1 100644 --- a/src/GraphPlot.jl +++ b/src/GraphPlot.jl @@ -2,8 +2,6 @@ module GraphPlot using Compose # for plotting features using Graphs -using LinearAlgebra -using SparseArrays const gadflyjs = joinpath(dirname(Base.source_path()), "gadfly.js") From efb5e05be1caacbaba0b4f82260804d243ae67cd Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 23 Aug 2022 11:00:00 -0500 Subject: [PATCH 33/48] Revert "remove deps to LinAlg and SparseArrays now that not needed for mixed edge styles." This reverts commit c391c55c873482eea1c00011b14cf2cfecf17b6d. --- Project.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Project.toml b/Project.toml index 023f3af..fde45b0 100644 --- a/Project.toml +++ b/Project.toml @@ -9,7 +9,9 @@ Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" Compose = "a81c6b42-2e10-5240-aca2-a61377ecd94b" DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6" +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [compat] ArnoldiMethod = "0.2" From ee69de0f82f7d2ae9b2613af45e9a3080c058f08 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Mon, 29 Aug 2022 23:32:26 -0400 Subject: [PATCH 34/48] fix bug when node size uses Width units and padding is used, the arrow ends get thrown off (instead, replace Compose.w with 2.4 (unit box width) to make sure that the right size is used regardless of the padding) --- src/plot.jl | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/src/plot.jl b/src/plot.jl index 1f96f13..adcd7b1 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -202,7 +202,7 @@ function gplot(g::AbstractGraph{T}, end # Create nodes - nodecircle = fill(0.4Compose.w, length(locs_x)) + nodecircle = fill(0.4*2.4, length(locs_x)) #40% of the width of the unit box if isa(nodesize, Real) for i = 1:length(locs_x) nodecircle[i] *= nodesize @@ -257,28 +257,31 @@ function gplot(g::AbstractGraph{T}, end Compose.set_default_graphic_size(plot_size...) - # Fix title offset - title_offset = isempty(title) ? 0 : 0.1*title_size/4 - - # Plot area size - plot_area = (-1.2, -1.2 - title_offset, +2.4, +2.4 + title_offset) + # Plot title + title_offset = isempty(title) ? 0 : 0.1*title_size/4 #Fix title offset + title = text(0, -1.2 - title_offset/2, title, hcenter, vcenter) # Plot padding if !isnothing(pad) leftpad, rightpad, toppad, bottompad = pad, pad, pad, pad end + + # Plot area size + plot_area = (-1.2, -1.2 - title_offset, +2.4, +2.4 + title_offset) # Build figure - compose(context(units=UnitBox(plot_area...; leftpad, rightpad, toppad, bottompad)), - compose(context(), text(0, -1.2 - title_offset/2, title, hcenter, vcenter), fill(title_color), fontsize(title_size), font(font_family)), - compose(context(), texts, fill(nodelabelc), fontsize(nodelabelsize), font(font_family)), - compose(context(), nodes, fill(nodefillc), stroke(nodestrokec), linewidth(nodestrokelw)), - compose(context(), edgetexts, fill(edgelabelc), fontsize(edgelabelsize)), - compose(context(), larrows, stroke(edgestrokec), linewidth(edgelinewidth)), - compose(context(), carrows, stroke(edgestrokec), linewidth(edgelinewidth)), - compose(context(), lines, stroke(edgestrokec), linewidth(edgelinewidth)), - compose(context(), curves, stroke(edgestrokec), linewidth(edgelinewidth)), - compose(context(units=UnitBox(plot_area...)), rectangle(plot_area...), fill(background_color))) + compose( + context(units=UnitBox(plot_area...; leftpad, rightpad, toppad, bottompad)), + compose(context(), title, fill(title_color), fontsize(title_size), font(font_family)), + compose(context(), texts, fill(nodelabelc), fontsize(nodelabelsize), font(font_family)), + compose(context(), nodes, fill(nodefillc), stroke(nodestrokec), linewidth(nodestrokelw)), + compose(context(), edgetexts, fill(edgelabelc), fontsize(edgelabelsize)), + compose(context(), larrows, stroke(edgestrokec), linewidth(edgelinewidth)), + compose(context(), carrows, stroke(edgestrokec), linewidth(edgelinewidth)), + compose(context(), lines, stroke(edgestrokec), linewidth(edgelinewidth)), + compose(context(), curves, stroke(edgestrokec), linewidth(edgelinewidth)), + compose(context(units=UnitBox(plot_area...)), rectangle(plot_area...), fill(background_color)) + ) end function gplot(g; layout::Function=spring_layout, keyargs...) From 1cb2399d19d28b66215bb9c773645a0e3476f1e6 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 30 Aug 2022 01:06:37 -0400 Subject: [PATCH 35/48] Change arrows to triangles. Fixes point 2 in #150 --- src/lines.jl | 22 ++++++++++++++-------- src/plot.jl | 4 ++-- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/lines.jl b/src/lines.jl index 6ee76dd..0008816 100644 --- a/src/lines.jl +++ b/src/lines.jl @@ -15,8 +15,10 @@ function graphline(edge_list, locs_x, locs_y, nodesize::Vector{T}, arrowlength, starty = locs_y[i] + nodesize[i]*sin(θ) endx = locs_x[j] + nodesize[j]*cos(θ+π) endy = locs_y[j] + nodesize[j]*sin(θ+π) - lines[e_idx] = [(startx, starty), (endx, endy)] arr1, arr2 = arrowcoords(θ, endx, endy, arrowlength, angleoffset) + endx0 = (arr1[1] + arr2[1]) / 2 + endy0 = (arr1[2] + arr2[2]) / 2 + lines[e_idx] = [(startx, starty), (endx0, endy0)] arrows[e_idx] = [arr1, (endx, endy), arr2] end lines, arrows @@ -36,8 +38,10 @@ function graphline(edge_list, locs_x, locs_y, nodesize::Real, arrowlength, angle starty = locs_y[i] + nodesize*sin(θ) endx = locs_x[j] + nodesize*cos(θ+π) endy = locs_y[j] + nodesize*sin(θ+π) - lines[e_idx] = [(startx, starty), (endx, endy)] arr1, arr2 = arrowcoords(θ, endx, endy, arrowlength, angleoffset) + endx0 = (arr1[1] + arr2[1]) / 2 + endy0 = (arr1[2] + arr2[2]) / 2 + lines[e_idx] = [(startx, starty), (endx0, endy0)] arrows[e_idx] = [arr1, (endx, endy), arr2] end lines, arrows @@ -100,9 +104,10 @@ function graphcurve(edge_list, locs_x, locs_y, nodesize::Vector{T}, arrowlength, d = 2 * π * nodesize[i] end - curves[e_idx, :] = curveedge(startx, starty, endx, endy, θ, outangle, d) - arr1, arr2 = arrowcoords(θ-outangle, endx, endy, arrowlength, angleoffset) + endx0 = (arr1[1] + arr2[1]) / 2 + endy0 = (arr1[2] + arr2[2]) / 2 + curves[e_idx, :] = curveedge(startx, starty, endx0, endy0, θ, outangle, d) arrows[e_idx] = [arr1, (endx, endy), arr2] end return curves, arrows @@ -129,9 +134,10 @@ function graphcurve(edge_list, locs_x, locs_y, nodesize::Real, arrowlength, angl d = 2 * π * nodesize end - curves[e_idx, :] = curveedge(startx, starty, endx, endy, θ, outangle, d) - arr1, arr2 = arrowcoords(θ-outangle, endx, endy, arrowlength, angleoffset) + endx0 = (arr1[1] + arr2[1]) / 2 + endy0 = (arr1[2] + arr2[2]) / 2 + curves[e_idx, :] = curveedge(startx, starty, endx0, endy0, θ, outangle, d) arrows[e_idx] = [arr1, (endx, endy), arr2] end return curves, arrows @@ -214,7 +220,7 @@ function build_curved_edges(edge_list, locs_x, locs_y, nodesize, arrowlengthfrac if arrowlengthfrac > 0.0 curves_cord, arrows_cord = graphcurve(edge_list, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset, outangle) curves = curve(curves_cord[:,1], curves_cord[:,2], curves_cord[:,3], curves_cord[:,4]) - carrows = line(arrows_cord) + carrows = polygon(arrows_cord) else curves_cord = graphcurve(edge_list, locs_x, locs_y, nodesize, outangle) curves = curve(curves_cord[:,1], curves_cord[:,2], curves_cord[:,3], curves_cord[:,4]) @@ -228,7 +234,7 @@ function build_straight_edges(edge_list, locs_x, locs_y, nodesize, arrowlengthfr if arrowlengthfrac > 0.0 lines_cord, arrows_cord = graphline(edge_list, locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset) lines = line(lines_cord) - larrows = line(arrows_cord) + larrows = polygon(arrows_cord) else lines_cord = graphline(edge_list, locs_x, locs_y, nodesize) lines = line(lines_cord) diff --git a/src/plot.jl b/src/plot.jl index adcd7b1..895e815 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -276,8 +276,8 @@ function gplot(g::AbstractGraph{T}, compose(context(), texts, fill(nodelabelc), fontsize(nodelabelsize), font(font_family)), compose(context(), nodes, fill(nodefillc), stroke(nodestrokec), linewidth(nodestrokelw)), compose(context(), edgetexts, fill(edgelabelc), fontsize(edgelabelsize)), - compose(context(), larrows, stroke(edgestrokec), linewidth(edgelinewidth)), - compose(context(), carrows, stroke(edgestrokec), linewidth(edgelinewidth)), + compose(context(), larrows, fill(edgestrokec)), + compose(context(), carrows, fill(edgestrokec)), compose(context(), lines, stroke(edgestrokec), linewidth(edgelinewidth)), compose(context(), curves, stroke(edgestrokec), linewidth(edgelinewidth)), compose(context(units=UnitBox(plot_area...)), rectangle(plot_area...), fill(background_color)) From 98f7d3e42fca251d69e2fe531a0f7be3dc53fff7 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 30 Aug 2022 01:42:13 -0400 Subject: [PATCH 36/48] update ref. images in tests for new arrow types --- test/data/curve.png | Bin 34441 -> 31856 bytes test/data/karate_straight_directed.png | Bin 117149 -> 108231 bytes test/data/self_directed.png | Bin 36946 -> 36126 bytes test/runtests.jl | 4 ++-- 4 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/data/curve.png b/test/data/curve.png index 668ca01429c10ca9090dcf949700a3c7cdc332ae..608243cec1575ad1eb62f615b803002c993b7fd0 100644 GIT binary patch literal 31856 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 diff --git a/test/data/karate_straight_directed.png b/test/data/karate_straight_directed.png index cc32e090a78feb1600f2de55cd7098783914edb6..5ec1840ab611e948394fe2919999175b820ba2c7 100644 GIT binary patch literal 108231 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 literal 117149 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

C%{o9gHY9Mv16qSJI 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 diff --git a/test/data/self_directed.png b/test/data/self_directed.png index 1eb117704e79b5c9c7fffb5a55095b53de58143a..77a5d03977bb5e91fa8ea3288e412afac915635b 100644 GIT binary patch literal 36126 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 literal 36946 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

iTlhrhbg4+z8C>WH5R5 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 save_comparison |> success @@ -107,7 +107,7 @@ end add_edge!(g3, 1,2) add_edge!(g3, 2,1) - plot_and_save2(fname) = plot_and_save(fname, g3, linetype="curve") + plot_and_save2(fname) = plot_and_save(fname, g3, linetype="curve", arrowlengthfrac=0.2, leftpad=20mm, toppad=3mm, bottompad=3mm) refimg2 = joinpath(datadir, "self_directed.png") @test test_images(VisualTest(plot_and_save2, refimg2), popup=!istravis) |> save_comparison |> success From d9716fc13e220730d3ce450b6781c82824815eb9 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 30 Aug 2022 01:52:39 -0400 Subject: [PATCH 37/48] fixed bug in tests --- test/runtests.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/runtests.jl b/test/runtests.jl index 38c87f0..3c8e45e 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -67,7 +67,7 @@ end @test test_images(VisualTest(plot_and_save1, refimg1), popup=!istravis) |> save_comparison |> success # test directed graph - plot_and_save2(fname) = plot_and_save(fname, g, arrowlengthfrac=0.02, nodelabel=nodelabel) + plot_and_save2(fname) = plot_and_save(fname, g, arrowlengthfrac=0.05, nodelabel=nodelabel, font_family="Sans") refimg2 = joinpath(datadir, "karate_straight_directed.png") @test test_images(VisualTest(plot_and_save2, refimg2), popup=!istravis) |> save_comparison |> success From 419655a988933f4fbf34d53e07d436ab05f6add3 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 27 Sep 2022 00:21:03 -0400 Subject: [PATCH 38/48] -update locs type in gplot and spring_layout -update default plot_size to square plot --- README.md | 2 +- src/layout.jl | 4 ++-- src/plot.jl | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index f900b96..a6ad29b 100644 --- a/README.md +++ b/README.md @@ -188,7 +188,7 @@ gplot(h) + `linetype` Type of line used for edges ("straight", "curve"). Default: "straight" + `outangle` Angular width in radians for the edges (only used if `linetype = "curve`). Default: `π/5 (36 degrees)` + `background_color` Color for the plot background. Default: `nothing` -+ `plot_size` Tuple of measures for width x height of plot area. Default: `(sqrt(2)*10cm, 10cm)` ++ `plot_size` Tuple of measures for width x height of plot area. Default: `(10cm, 10cm)` + `leftpad, rightpad, toppad, bottompad` Padding for the plot margins. Default: `0mm` + `pad` Padding for plot margins (overrides individual padding if given). Default: `nothing` # Reporting Bugs diff --git a/src/layout.jl b/src/layout.jl index b24c38d..f588445 100644 --- a/src/layout.jl +++ b/src/layout.jl @@ -102,8 +102,8 @@ julia> locs_x, locs_y = spring_layout(g) ``` """ function spring_layout(g::AbstractGraph, - locs_x_in::Vector{R1}=2*rand(nv(g)).-1.0, - locs_y_in::Vector{R2}=2*rand(nv(g)).-1.0; + locs_x_in::AbstractVector{R1}=2*rand(nv(g)).-1.0, + locs_y_in::AbstractVector{R2}=2*rand(nv(g)).-1.0; C=2.0, MAXITER=100, INITTEMP=2.0) where {R1 <: Real, R2 <: Real} diff --git a/src/plot.jl b/src/plot.jl index 895e815..2b902a3 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -110,7 +110,7 @@ Default: `π/5 (36 degrees)` Color for the plot background. Default: `nothing` `plot_size` -Tuple of measures for width x height for plot area. Default: `(sqrt(2)*10cm, 10cm)` +Tuple of measures for width x height for plot area. Default: `(10cm, 10cm)` `leftpad, rightpad, toppad, bottompad` Padding for the plot margins. Default: `0mm` @@ -119,7 +119,7 @@ Padding for the plot margins. Default: `0mm` Padding for plot margins (overrides individual padding if given). Default: `nothing` """ function gplot(g::AbstractGraph{T}, - locs_x_in::Vector{R1}, locs_y_in::Vector{R2}; + locs_x_in::AbstractVector{R1}, locs_y_in::AbstractVector{R2}; title = "", title_color = colorant"black", title_size = 4.0, @@ -149,7 +149,7 @@ function gplot(g::AbstractGraph{T}, linetype = "straight", outangle = π / 5, background_color = nothing, - plot_size = (sqrt(2)*10cm, 10cm), + plot_size = (10cm, 10cm), leftpad = 0mm, rightpad = 0mm, toppad = 0mm, From 0f9ca82ca74a6dd43b3a97f52bae45953aecd149 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Tue, 27 Sep 2022 12:40:12 -0700 Subject: [PATCH 39/48] fix visualization of double sided arcs --- src/lines.jl | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/lines.jl b/src/lines.jl index 0008816..aba6540 100644 --- a/src/lines.jl +++ b/src/lines.jl @@ -1,6 +1,12 @@ """ Return lines and arrow heads """ +function midpoint(pt1,pt2) + x = (pt1[1] + pt2[1]) / 2 + y = (pt1[2] + pt2[2]) / 2 + return x,y +end + function graphline(edge_list, locs_x, locs_y, nodesize::Vector{T}, arrowlength, angleoffset) where {T<:Real} num_edges = length(edge_list) lines = Array{Vector{Tuple{Float64,Float64}}}(undef, num_edges) @@ -16,8 +22,12 @@ function graphline(edge_list, locs_x, locs_y, nodesize::Vector{T}, arrowlength, endx = locs_x[j] + nodesize[j]*cos(θ+π) endy = locs_y[j] + nodesize[j]*sin(θ+π) arr1, arr2 = arrowcoords(θ, endx, endy, arrowlength, angleoffset) - endx0 = (arr1[1] + arr2[1]) / 2 - endy0 = (arr1[2] + arr2[2]) / 2 + endx0, endy0 = midpoint(arr1, arr2) + if Edge(j,i) in edge_list[1:e_idx-1] #check if a reverse arc exists + e_idx2 = findfirst(==(Edge(j,i)), edge_list) #get index of reverse arc + startx, starty = midpoint(arrows[e_idx2][[1,3]]...) #get midopint of reverse arc and use as new start point + lines[e_idx2][1] = (endx0, endy0) #update endpoint of reverse arc + end lines[e_idx] = [(startx, starty), (endx0, endy0)] arrows[e_idx] = [arr1, (endx, endy), arr2] end @@ -39,8 +49,12 @@ function graphline(edge_list, locs_x, locs_y, nodesize::Real, arrowlength, angle endx = locs_x[j] + nodesize*cos(θ+π) endy = locs_y[j] + nodesize*sin(θ+π) arr1, arr2 = arrowcoords(θ, endx, endy, arrowlength, angleoffset) - endx0 = (arr1[1] + arr2[1]) / 2 - endy0 = (arr1[2] + arr2[2]) / 2 + endx0, endy0 = midpoint(arr1, arr2) + if Edge(j,i) in edge_list[1:e_idx-1] #check if a reverse arc exists + e_idx2 = findfirst(==(Edge(j,i)), edge_list) #get index of reverse arc + startx, starty = midpoint(arrows[e_idx2][[1,3]]...) #get midopint of reverse arc and use as new start point + lines[e_idx2][1] = (endx0, endy0) #update endpoint of reverse arc + end lines[e_idx] = [(startx, starty), (endx0, endy0)] arrows[e_idx] = [arr1, (endx, endy), arr2] end From 788cc5e4779714069b47d3d2635b1439e01d930b Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Tue, 27 Sep 2022 13:23:06 -0700 Subject: [PATCH 40/48] fix bug when edge iterator passed to `graphline` --- src/lines.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lines.jl b/src/lines.jl index aba6540..13c29fb 100644 --- a/src/lines.jl +++ b/src/lines.jl @@ -23,8 +23,8 @@ function graphline(edge_list, locs_x, locs_y, nodesize::Vector{T}, arrowlength, endy = locs_y[j] + nodesize[j]*sin(θ+π) arr1, arr2 = arrowcoords(θ, endx, endy, arrowlength, angleoffset) endx0, endy0 = midpoint(arr1, arr2) - if Edge(j,i) in edge_list[1:e_idx-1] #check if a reverse arc exists - e_idx2 = findfirst(==(Edge(j,i)), edge_list) #get index of reverse arc + e_idx2 = findfirst(==(Edge(j,i)), collect(edge_list)) #get index of reverse arc + if !isnothing(e_idx2) && e_idx2 < e_idx #only make changes if lines/arrows have already been defined for that arc startx, starty = midpoint(arrows[e_idx2][[1,3]]...) #get midopint of reverse arc and use as new start point lines[e_idx2][1] = (endx0, endy0) #update endpoint of reverse arc end @@ -50,8 +50,8 @@ function graphline(edge_list, locs_x, locs_y, nodesize::Real, arrowlength, angle endy = locs_y[j] + nodesize*sin(θ+π) arr1, arr2 = arrowcoords(θ, endx, endy, arrowlength, angleoffset) endx0, endy0 = midpoint(arr1, arr2) - if Edge(j,i) in edge_list[1:e_idx-1] #check if a reverse arc exists - e_idx2 = findfirst(==(Edge(j,i)), edge_list) #get index of reverse arc + e_idx2 = findfirst(==(Edge(j,i)), collect(edge_list)) #get index of reverse arc + if !isnothing(e_idx2) && e_idx2 < e_idx #only make changes if lines/arrows have already been defined for that arc startx, starty = midpoint(arrows[e_idx2][[1,3]]...) #get midopint of reverse arc and use as new start point lines[e_idx2][1] = (endx0, endy0) #update endpoint of reverse arc end From f44fd7b1abd8d4edaeb6bdd8f355457451dbfe99 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Thu, 29 Sep 2022 11:23:19 -0700 Subject: [PATCH 41/48] fix bug on edgelabels --- src/plot.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plot.jl b/src/plot.jl index 2b902a3..6c14cf6 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -226,8 +226,8 @@ function gplot(g::AbstractGraph{T}, # Create edge labels if provided edgetexts = nothing if !isempty(edgelabel) - edge_locs_x = zeros(R, NE) - edge_locs_y = zeros(R, NE) + edge_locs_x = zeros(R1, NE) + edge_locs_y = zeros(R2, NE) for (e_idx, e) in enumerate(edges(g)) i = src(e) j = dst(e) From db61499fcdff0a1c183d5259f724153797456867 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Thu, 29 Sep 2022 13:38:22 -0700 Subject: [PATCH 42/48] closes #95 (add `saveplot`) also uses Reexport to export Measures --- Project.toml | 4 ++++ README.md | 2 ++ src/GraphPlot.jl | 5 ++++- src/plot.jl | 5 +++++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index fde45b0..ebe125b 100644 --- a/Project.toml +++ b/Project.toml @@ -10,7 +10,9 @@ Compose = "a81c6b42-2e10-5240-aca2-a61377ecd94b" DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +Measures = "442fdcdd-2543-5da2-b0f3-8c86c306513e" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +Reexport = "189a3867-3050-52da-a836-e630ba90ab69" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [compat] @@ -18,4 +20,6 @@ ArnoldiMethod = "0.2" Colors = "0.12" Compose = "0.9" Graphs = "1.4" +Measures = "0.3" +Reexport = "1.2" julia = "1.6" diff --git a/README.md b/README.md index a6ad29b..7e3485b 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,8 @@ draw(PDF("karate.pdf", 16cm, 16cm), gplot(g)) draw(PNG("karate.png", 16cm, 16cm), gplot(g)) # save to svg draw(SVG("karate.svg", 16cm, 16cm), gplot(g)) +# alternate way of saving to svg without loading Compose +saveplot(gplot(g, plot_size = (16cm, 16cm)), "karate.svg") ``` # Graphs.jl integration ```julia diff --git a/src/GraphPlot.jl b/src/GraphPlot.jl index c1738c1..dc79a38 100644 --- a/src/GraphPlot.jl +++ b/src/GraphPlot.jl @@ -2,6 +2,8 @@ module GraphPlot using Compose # for plotting features using Graphs +using Reexport +@reexport using Measures const gadflyjs = joinpath(dirname(Base.source_path()), "gadfly.js") @@ -15,7 +17,8 @@ export spring_layout, spectral_layout, shell_layout, - stressmajorize_layout + stressmajorize_layout, + saveplot include("deprecations.jl") diff --git a/src/plot.jl b/src/plot.jl index 6c14cf6..5349993 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -333,3 +333,8 @@ function gplothtml(args...; keyargs...) close(output) open_file(filename) end + +function saveplot(gplot::Compose.Context, filename::String) + draw(SVG(filename), gplot) + return nothing +end \ No newline at end of file From e8a608d16ef04b6b319d53388d43e9d66b16f8ee Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Thu, 29 Sep 2022 13:53:37 -0700 Subject: [PATCH 43/48] no need to use Reexport or Measures --- Project.toml | 4 ---- src/GraphPlot.jl | 5 ++--- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/Project.toml b/Project.toml index ebe125b..fde45b0 100644 --- a/Project.toml +++ b/Project.toml @@ -10,9 +10,7 @@ Compose = "a81c6b42-2e10-5240-aca2-a61377ecd94b" DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" -Measures = "442fdcdd-2543-5da2-b0f3-8c86c306513e" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" -Reexport = "189a3867-3050-52da-a836-e630ba90ab69" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [compat] @@ -20,6 +18,4 @@ ArnoldiMethod = "0.2" Colors = "0.12" Compose = "0.9" Graphs = "1.4" -Measures = "0.3" -Reexport = "1.2" julia = "1.6" diff --git a/src/GraphPlot.jl b/src/GraphPlot.jl index dc79a38..b42189d 100644 --- a/src/GraphPlot.jl +++ b/src/GraphPlot.jl @@ -2,8 +2,6 @@ module GraphPlot using Compose # for plotting features using Graphs -using Reexport -@reexport using Measures const gadflyjs = joinpath(dirname(Base.source_path()), "gadfly.js") @@ -18,7 +16,8 @@ export spectral_layout, shell_layout, stressmajorize_layout, - saveplot + saveplot, + mm, cm, inch include("deprecations.jl") From 75ec07f57432f8d370011c0aec76a0f8cfa59172 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Thu, 13 Oct 2022 00:23:29 -0400 Subject: [PATCH 44/48] make edge label in center (even for direted) --- src/plot.jl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/plot.jl b/src/plot.jl index 5349993..8fcb019 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -233,9 +233,8 @@ function gplot(g::AbstractGraph{T}, j = dst(e) mid_x = (locs_x[i]+locs_x[j]) / 2.0 mid_y = (locs_y[i]+locs_y[j]) / 2.0 - edge_locs_x[e_idx] = (is_directed(g) ? (mid_x+locs_x[j]) / 2.0 : mid_x) + edgelabeldistx * NODESIZE - edge_locs_y[e_idx] = (is_directed(g) ? (mid_y+locs_y[j]) / 2.0 : mid_y) + edgelabeldisty * NODESIZE - + edge_locs_x[e_idx] = (is_directed(g) ? mid_x + edgelabeldistx * NODESIZE + edge_locs_y[e_idx] = (is_directed(g) ? mid_y + edgelabeldisty * NODESIZE end edgetexts = text(edge_locs_x, edge_locs_y, map(string, edgelabel), [hcenter], [vcenter]) end From 9bb185c99743615fad7069a5932af634a6ebeb63 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Thu, 13 Oct 2022 00:25:13 -0400 Subject: [PATCH 45/48] . --- src/plot.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plot.jl b/src/plot.jl index 8fcb019..b4257bb 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -233,8 +233,8 @@ function gplot(g::AbstractGraph{T}, j = dst(e) mid_x = (locs_x[i]+locs_x[j]) / 2.0 mid_y = (locs_y[i]+locs_y[j]) / 2.0 - edge_locs_x[e_idx] = (is_directed(g) ? mid_x + edgelabeldistx * NODESIZE - edge_locs_y[e_idx] = (is_directed(g) ? mid_y + edgelabeldisty * NODESIZE + edge_locs_x[e_idx] = mid_x + edgelabeldistx * NODESIZE + edge_locs_y[e_idx] = mid_y + edgelabeldisty * NODESIZE end edgetexts = text(edge_locs_x, edge_locs_y, map(string, edgelabel), [hcenter], [vcenter]) end From 3bafc1c7d58e151e65dd725cc763172180320832 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 24 Jan 2023 00:43:06 -0500 Subject: [PATCH 46/48] add interpolation functions for edge labels --- src/lines.jl | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/lines.jl b/src/lines.jl index 13c29fb..157328f 100644 --- a/src/lines.jl +++ b/src/lines.jl @@ -7,6 +7,22 @@ function midpoint(pt1,pt2) return x,y end +function interpolate_bezier(x::Vector,t) + n = length(x)-1 + x_loc = sum(binomial(n,i)*(1-t)^(n-i)*t^i*x[i+1][1] for i in 0:n) + y_loc = sum(binomial(n,i)*(1-t)^(n-i)*t^i*x[i+1][2] for i in 0:n) + return x_loc.value, y_loc.value +end + +interpolate_bezier(x::Compose.CurvePrimitive,t) = + interpolate_bezier([x.anchor0, x.ctrl0, x.ctrl1, x.anchor1], t) + +function interpolate_line(locs_x,locs_y,i,j,t) + x_loc = locs_x[i] + (locs_x[j]-locs_x[i])*t + y_loc = locs_y[i] + (locs_y[j]-locs_y[i])*t + return x_loc, y_loc +end + function graphline(edge_list, locs_x, locs_y, nodesize::Vector{T}, arrowlength, angleoffset) where {T<:Real} num_edges = length(edge_list) lines = Array{Vector{Tuple{Float64,Float64}}}(undef, num_edges) From d117fc29d7d66ed44e68f6514e9ef7d162cce0cc Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 24 Jan 2023 00:43:21 -0500 Subject: [PATCH 47/48] fix #190 --- src/plot.jl | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/src/plot.jl b/src/plot.jl index b4257bb..d29b30a 100644 --- a/src/plot.jl +++ b/src/plot.jl @@ -223,21 +223,6 @@ function gplot(g::AbstractGraph{T}, text_locs_y .- nodesize .* (nodelabeldist * sin(nodelabelangleoffset)), map(string, nodelabel), [hcenter], [vcenter]) end - # Create edge labels if provided - edgetexts = nothing - if !isempty(edgelabel) - edge_locs_x = zeros(R1, NE) - edge_locs_y = zeros(R2, NE) - for (e_idx, e) in enumerate(edges(g)) - i = src(e) - j = dst(e) - mid_x = (locs_x[i]+locs_x[j]) / 2.0 - mid_y = (locs_y[i]+locs_y[j]) / 2.0 - edge_locs_x[e_idx] = mid_x + edgelabeldistx * NODESIZE - edge_locs_y[e_idx] = mid_y + edgelabeldisty * NODESIZE - end - edgetexts = text(edge_locs_x, edge_locs_y, map(string, edgelabel), [hcenter], [vcenter]) - end # Create lines and arrow heads lines, larrows = nothing, nothing @@ -250,6 +235,28 @@ function gplot(g::AbstractGraph{T}, lines, larrows = build_straight_edges(edges(g), locs_x, locs_y, nodesize, arrowlengthfrac, arrowangleoffset) end + # Create edge labels if provided + edgetexts = nothing + if !isempty(edgelabel) + edge_locs_x = zeros(R1, NE) + edge_locs_y = zeros(R2, NE) + self_loop_idx = 1 + for (e_idx, e) in enumerate(edges(g)) + i, j = src(e), dst(e) + if linetype == "curve" + mid_x, mid_y = interpolate_bezier(curves.primitives[e_idx], 0.5) + elseif src(e) == dst(e) + mid_x, mid_y = interpolate_bezier(curves.primitives[self_loop_idx], 0.5) + self_loop_idx += 1 + else + mid_x, mid_y = interpolate_line(locs_x,locs_y,i,j,0.5) + end + edge_locs_x[e_idx] = mid_x + edgelabeldistx * NODESIZE + edge_locs_y[e_idx] = mid_y + edgelabeldisty * NODESIZE + end + edgetexts = text(edge_locs_x, edge_locs_y, map(string, edgelabel), [hcenter], [vcenter]) + end + # Set plot_size if length(plot_size) != 2 || !isa(plot_size[1], Compose.AbsoluteLength) || !isa(plot_size[2], Compose.AbsoluteLength) error("`plot_size` must be a Tuple of lengths") From 246eab616d2848ebf1aaa773a8b6cc9cd8174084 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Tue, 24 Jan 2023 11:37:46 -0500 Subject: [PATCH 48/48] add note on bezier curve interpolation --- src/lines.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lines.jl b/src/lines.jl index 157328f..08a3cb8 100644 --- a/src/lines.jl +++ b/src/lines.jl @@ -7,7 +7,8 @@ function midpoint(pt1,pt2) return x,y end -function interpolate_bezier(x::Vector,t) +function interpolate_bezier(x::Vector,t) + #TODO: since this is only being used for `curve` which has 4 points (n = 3), the calculation can be simplified for this case. n = length(x)-1 x_loc = sum(binomial(n,i)*(1-t)^(n-i)*t^i*x[i+1][1] for i in 0:n) y_loc = sum(binomial(n,i)*(1-t)^(n-i)*t^i*x[i+1][2] for i in 0:n)