Skip to content

erhlee-bird/Graph-Visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

############################################################
# File: README                                             #
# Author: Eric H. Lee (erhlee.bird@gmail.com)              #
# Creation Date: 07/11/11                                  #
# Project: Graph-Visualizer                                #
############################################################

Version 0.09:
    Modified 07/26/11
    : Always optimizing and refactoring code.
    : Added in a tool to visualize the graph in a matrix
    instead of graph form.
    : Need to redo some of the nonexistent GUI to add that
    part into the main interface.

Version 0.08:
    Modified 07/21/11
    : Modified the resizing algorithm.
    : Fixed some of the GUI interactions like the dragging
    and hovering over.
    : Moved some code around again and separated out the
    pure math functions into a separate file.
    : Refactored the code to use some more pythonic code
    which will hopefully help with speed optimizing.

Version 0.07:
    Modified 07/18/11
    : The Display_GV widget was getting a bit cluttered so
    I separated some of the nonessential calculations into
    another file Assortment_Algorithms.py
    : Trying to work up a way to calculate exactly how much
    space is needed to draw all the nodes. So far it works
    okay but once you get too many nodes, it takes a long
    time to overcome collisions so if there are too many
    overlaps they just get drawn over each other. Need to
    find a way to fix this.
    : Because the number of edges gets kind of ridiculous
    in files like yeast.gexf, I set the initial value of
    showEdges to false so only the important edges are
    seen.

Version 0.06:
    Modified 07/14/11
    : Again some heavy optimization. Used the built in
    canvas overlap methods to reduce cost.
    : Fixed some little GUI bugs.
        : Added Panning to the interface. Click and drag.
        : Fixed some weird sizing issues.
        : Overlap and Mouse Detection algorithms are using
        builtin Tkinter functions and are showing huge
        improvements.
        : Added a failsafe for when the program can't draw
        the entire graph without overlaps. (yeast.gexf)
    : Added different formats of graph organization.
        : Random - Purely random assortment.
        : Size - More heavily connected nodes gravitate
        towards the center.
        : Hyperbolic - Discovered by accident, but when
        plotted, smaller nodes gravitate to the corners
        and heavier nodes end up in the center.
    : Next step is to work on a Node Explorer that will
    work in conjunction with the Mouse Over event. Will
    reveal the node in question and list all the edges
    and connected nodes.
    : Made the pan action right click activated and left
    click drag the nodes around.

Version 0.05:
    Modified 07/14/11
    : Changes were made to optimize the data storage. All
    pertinent edges are contained within the Node so that
    searching for them is cheap and they are easily
    accessible for color-coding.
    : Redid the entire drawing system and made Edges a lot
    cheaper to draw and analyze.
    : Redid my random drawing algorithm to favor larger
    nodes towards the center. Looks a lot better than the
    previous random layout.
    : Made the program a lot more efficient overall and
    I'm pleased with how my little "EdgeMaster" excursion
    turned out.

Version 0.04:
    Modified 07/13/11
    : I went and corrected the color coding algorithm and
    changed the storage structures for the temporary marks.
    : Fixed the Nodes and Edges so that they can reDraw
    themselves.
    : Got down a good method of calculating the canvas size.
    : Gonna work a bit on the UI. So far I have the graph
    drawn and interactable in a slightly useless and arcane
    manner.

Version 0.03:
    Modified 07/12/11
    : So I realized I should have split up the info storage
    into classes like Node.py and Edge.py but I was excited
    and kind of just rushing through so I've just added it.
    : I changed the lists to dictionaries so I can keep the
    Nodes in order and have a slick way to access them.
    : Internalized a lot of the mathematic functions to one
    time use in the Node class. A lot less waste. I'm not
    explaining it very well but it makes sense.
    : Who doesn't love color coding.
    : Next up is scaling work. This is gonna be kinda hard.

Version 0.02:
    Modified 07/11/11
    : Redid the parsing work because the storage system was
    much too confusing and stupid.
    : I'm doing stuff wrong. It's taking more than a few 
    seconds to load a relatively small graph. I think I
    need to look up how to optimize my list comprehensions.
    : Finally managed to figure out the canvas's drawing.
    : Coming along nicely.

Version 0.01:
    Created 07/10/11
    : This is a basic python tool for parsing and visualizing
    graphs.
    : Got some basic parsing support for .gexf files.
    : Got the basic Tkinter Canvas working albeit with some
    issues with automatic resizing.

About

A simple python app for parsing and visualizing graph data.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages