# Plotting Graphs

*LightGraphs.jl* integrates with several other Julia packages for plotting. Here are a few examples.

## TikzGraphs.jl

Another nice graph visualization package. (TikzPictures.jl required to render/save):

```
julia> g = wheel_graph(10); t = plot(g)
julia> save(SVG("wheel10.svg"), t)
```

producing a graph like this:

## GraphPlot.jl

Another graph visualization package that is very simple to use. Compose.jl is required for most rendering functionality:

```
julia> using GraphPlot, Compose
julia> g = wheel_graph(10)
julia> draw(PNG("/tmp/wheel10.png", 16cm, 16cm), gplot(g))
```

## NetworkViz.jl

NetworkViz.jl is tightly coupled with *LightGraphs.jl*. Graphs can be visualized in 2D as well as 3D using ThreeJS.jl and Escher.jl.

```
#Run this code in Escher
using NetworkViz
using LightGraphs
main(window) = begin
push!(window.assets, "widgets")
push!(window.assets,("ThreeJS","threejs"))
g = complete_graph(10)
drawGraph(g)
end
```

The above code produces the following output:

## GraphRecipes.jl

GraphRecipes is a collection of recipes for visualizing graphs. Users specify a graph through an adjacency matrix, an adjacency list, or an AbstractGraph via LightGraphs.

```
julia> using GraphRecipes, Plots
julia> using LightGraphs
julia> g = wheel_graph(10)
julia> graphplot(g, curves=false)
```