Skip to content

Commit

Permalink
update README + version bump
Browse files Browse the repository at this point in the history
  • Loading branch information
GregorBlock committed Feb 1, 2019
1 parent 74437ff commit ff36cc3
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 5 deletions.
19 changes: 16 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,26 @@ Android GraphView is used to display data in graph structures.

Overview
========
The library is designed to support different algorithms. Currently, only the algorithms from Walker (with the runtime improvements from Buchheim) and Fruchterman&Reingold (for small graphs) have been implemented.
The library is designed to support different graph layouts.

Download
========

```groovy
dependencies {
implementation 'de.blox:graphview:0.4.2'
implementation 'de.blox:graphview:0.5.0'
}
```
Layouts
======
### Tree
Uses Walker's algorithm with Buchheim's runtime improvements (`BuchheimWalkerAlgorithm` class). Supports different orientations. All you have to do is using the `BuchheimWalkerConfiguration.Builder.setOrientation(int)` with either `ORIENTATION_LEFT_RIGHT`, `ORIENTATION_RIGHT_LEFT`, `ORIENTATION_TOP_BOTTOM` and
`ORIENTATION_BOTTOM_TOP` (default). Furthermore parameters like sibling-, level-, subtree separation can be set.
### Directed graph
Directed graph drawing by simulating attraction/repulsion forces. For this the algorithm by Fruchterman and Reingold (`FruchtermanReingoldAlgorithm` class) was implemented (currently works only for small graphs).
### Layered graph
Algorithm from Sugiyama et al. for drawing multilayer graphs, taking advantage of the hierarchical structure of the graph (`SugiyamaAlgorithm` class). You can also set the parameters for node and level separation using the `SugiyamaConfiguration.Builder`.

Usage
======

Expand Down Expand Up @@ -166,10 +176,13 @@ Examples
#### Directed Graph
![alt Example](image/Graph.png "Graph Example")

#### Layered Graph
![alt Example](image/LayeredGraph.png "Layered Graph Example")

License
=======

Copyright 2018 Team-Blox
Copyright 2019 Team-Blox

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion graphview/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ ext {
siteUrl = "https://github.com/Team-Blox/GraphView"
gitUrl = "https://github.com/Team-Blox/GraphView.git"

libraryVersion = '0.4.2'
libraryVersion = '0.5.0'

developerId = 'Team-Blox'
developerName = 'Blox'
Expand Down
Binary file added image/LayeredGraph.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public class MainContent {
static {
ITEMS.add(new GraphItem("BuchheimWalker", "Algorithm for drawing tree structures", BuchheimWalkerActivity.class));
ITEMS.add(new GraphItem("FruchtermanReingold", "Directed graph drawing by simulating attraction/repulsion forces", FruchtermanReingoldActivity.class));
ITEMS.add(new GraphItem("Sugiyama et al.", "Layered graph drawing algorithm where the hierarchical structure of the graph is used to advantage.", SugiyamaActivity.class));
ITEMS.add(new GraphItem("Sugiyama et al.", "Algorithm for drawing multilayer graphs, taking advantage of the hierarchical structure of the graph.", SugiyamaActivity.class));
}

public static class GraphItem {
Expand Down

0 comments on commit ff36cc3

Please sign in to comment.