Documentation
¶
Overview ¶
Package intended to draw phylogenetic trees on different devices :
- Terminal,
- Images (svg, png)
- ...
And with different drawing algorithms. So far, only ASCII form in terminal.
- Circular
- Normal
- Unrooted
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type TreeDrawer ¶
type TreeDrawer interface {
SetMaxValues(maxObjectWidth, maxObjectHeight float64, maxNameLength, maxNameHeight int)
DrawHLine(x1, x2, y float64)
DrawVLine(x, y1, y float64)
DrawLine(x1, y1, x2, y2 float64)
DrawCurve(centerx, centery float64, middlex, middley float64, radius float64, startAngle, endAngle float64)
DrawCircle(x, y float64)
DrawColoredCircle(x, y float64, r, g, b, a uint8)
/* angle : angle of the tip incoming branch */
DrawName(x, y float64, name string, angle float64)
Write()
Bounds() (int, int) /* width, height*/
}
Generic struct to draw on different supports:
- ascii in terminal
- png
- svg
func NewPngTreeDrawer ¶
func NewPngTreeDrawer(w io.Writer, width, height int, leftmargin, rightmargin, topmargin, bottommargin int, fillbackground bool) TreeDrawer
TextTreeDrawer initializer. TextTreeDraws draws tree as ASCII on stdout or any file. So far: Does not take into account branch lengths.
func NewSvgTreeDrawer ¶
func NewSvgTreeDrawer(w io.Writer, width, height int, leftmargin, rightmargin, topmargin, bottommargin int) TreeDrawer
TextTreeDrawer initializer. TextTreeDraws draws tree as ASCII on stdout or any file. So far: Does not take into account branch lengths.
func NewTextTreeDrawer ¶
func NewTextTreeDrawer(w io.Writer, width, height int, rightmargin int) TreeDrawer
TextTreeDrawer initializer. TextTreeDraws draws tree as ASCII on stdout or any file. So far: Does not take into account branch lengths.
type TreeLayout ¶
type TreeLayout interface {
DrawTree(t *tree.Tree) error
SetSupportCutoff(float64)
SetDisplayInternalNodes(bool)
SetDisplayNodeComments(bool)
SetTipColors(map[string][]uint8)
}
Generic struct that represents tree layout:
- circular
- normal
- unrooted
func NewCircularLayout ¶
func NewCircularLayout(td TreeDrawer, withBranchLengths, withTipLabels, withInternalNodeLabel, withSupportCircles bool) TreeLayout
If withSuppportCircles is true, then it will draw circles on branches whose support is > 0.7. The cutoff may be set with layout.SetSupportCutoff()
func NewCytoscapeLayout ¶ added in v0.2.4
func NewCytoscapeLayout(writer *bufio.Writer, hasSupport bool) TreeLayout
func NewNormalLayout ¶
func NewNormalLayout(td TreeDrawer, withBranchLengths, withTipLabels, withInternalNodeLabel, withSupportCircles bool) TreeLayout
func NewRadialLayout ¶
func NewRadialLayout(td TreeDrawer, withBranchLengths, withTipLabels, withInternalNodeLabels, withSuppportCircles bool) TreeLayout