![Gitter](https://badges.gitter.im/Join Chat.svg)
#YouTube demo see this video
#GraphTea GraphTea is a software framework to work on graphs and social networks. It helps you to:
- draw a graph
- get reports about it
- run algorithms on it
- visualize it
it runs under window/linux/mac osx (based on java).
#RUN
execute run.bat
(windows), or run.sh
(linux/mac).
manually:
java -jar graphtea-main.jar
#DEVELOP for working on the source,
- make your changes
- run make.sh (or type in terminal
./make.sh
) - it will compile your changes and run the application.
manually:
- open terminal
cd src/scripts
ant
. this will build the application for you in the binary folder.- for seeing your changes do the steps described for "run"
note that you should have appache ant installed.
#Write a graph algorithm, go change this file: SampleAlgorithm.java. you can make also reports, generators, file formats and actions.
#What can you do with graphtea?
-
Drawing your graph with mouse or using predefined graphs (under graph > generate), like trees, complete graphs, stars, generalized peterson and etc.
-
Getting information about your graphs (under graph > reports menu), like num of connected components, chromatic number, independence number, girth size, num of triangles and etc.
-
Run algorithms step by step on your graph and see how they work. This is very usefull for teaching graph algorithms. You can pause, and it shows the current state of algorithm by coloring edges and vertices.
-
Visualizing your graphs. You made a social network from your database and want to represent it in a meaningfull way? Use the visualizations.
-
Presenting your graphs in your papers, websites or reports. GraphTea has a wide range of options to draw graphs, having different colors for edges and vertices, different borders, fonts, and sizes and etc. When you finish drawing your graph, you can save to a image file or even to a Tex document to put in your report.
-
making new graph generators, graph reports, file types, actions, algorithms by writing extensions. Extensions provide a gateway to add new functionalities as simple as putting a file to extensions directory. You can write them using Java and Matlab. For more samples take a look at extensions directory.
more docs will come soon. if you have any questions just post it in the issues and i will write you back as soon as possible.
(http://help.github.com/send-pull-requests/)
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
have fun!!
###credits
-
Current Developers:
- Mohammad Ali Rostami ali [at] c3e [dot] de
- Azin Azadi aazadi [at] gmail [dot] com
-
GraphTea is base on GraphLab, a software developed in Sharif university of Technology 0.