You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Plugin for the clld framework providing
support for phylogenetic trees in clld apps.
This plugin includes the phylotree
library to render phylogenetic trees in the browser.
Introduction
While plotting cross-linguistic data on a map serves as quick visualization of the correlation between the data and geography, plotting the data on a phylogenetic tree allows inspection of the correlation between the data and some theory about language relatedness, embodied in the tree.
The clld-phylogeny-plugin package supports this kind of visualization by
adding database models to store phylogenetic trees (and how the tree labels correspond to Language objects)
adding a Tree component, allowing simple rendering of a tree on a page
adding support for "plotting" Parameter objects on a tree, i.e. plotting the value for a given (Parameter, Language) pair next to the language's label on the tree.
To make clld-phylogeny-plugin functionality available to a clld app, it must be included in the app's configuration - typically in <app>:main:
config.include('clld_phylogeny_plugin')
This will add a ResourcePhylogeny with corresponding routes
/phylogenys - the index page listing all available phylogenies
/phylogenys/<ID> - a phylogeny's details page, by default rendering the associated tree.
Plotting parameters on trees
To synchronize plotting of markers for parameter values on maps and trees, the Tree.get_marker method may need to
be adjusted. This can be done by registering a derived Tree class as ITree utility:
classMyTree(clld_phylogeny_plugin.tree.Tree):
defget_marker(self, valueset):
# compute marker shape and color from valuesetreturnshape, color
....
config.registry.registerUtility(MyTree, ITree)
About
clld plugin adding support for storage and visualization of phylogentic trees of languages.