(c) 2001-2006 David Symonds
Last Updated: 22 February 2007
Latest Version: 1.3.2
GraphThing is a tool that allows you to create, manipulate and
study graphs. These "graphs" are mathematical objects
(look at this
introduction to Graph Theory) that describe relationships between
sets; they are not 2D plots, charts, or anything similar to
that. If the image on the right means nothing to you, you're probably at the
wrong place.
GraphThing is
Free Software, licensed under the terms of the
GNU GPL. That means
that not only does it cost you nothing, but you also have the
freedom to redistribute it or modify it however you please, so long as you
also give these freedoms to others.
As an example, the CityBuilder
project has taken a particular version of GraphThing,
and modified it for their
own needs. They have released the source code to their forked version under the
GNU GPL.
If you find GraphThing useful, especially in either an educational
or academic setting, please email me and
tell me your thoughts about it!
22nd December 2006
GraphThing 1.3.2 is out. This is a small update to
include the new Chinese (Simplified) translation, courtesy of Guo Yixuan.
2nd October 2006
Cyril Brulebois has managed to get GraphThing into
Debian (
see his blog entry)! Within a short amount of time it should enter the
current official unstable Debian distribution ("sid"), and hopefully even the
new upcoming stable release ("etch")! Great news for all Debian users out there!
Congratulations to Cyril Brulebois for getting his first upload into Debian!
13th October 2006 - Update: GraphThing has now entered the current
testing distribution ("etch").
19th September 2006
GraphThing 1.3.1 is out. This is a maintenance release,
fixing up some of the build process and rolling in some 64-bit fixes and a new
manpage. If you're not having any problems, don't bother upgrading. Packages
for this release will follow shortly.
6th September 2006
After a long hiatus, I'm pushing out version 1.3 of GraphThing. It's not a big revision over the previous version, but it needs
releasing.
- Fixed up loading graphs from the command-line
- Adjacency matrix reflects edge weights
- New icons (thanks to Christian Brown)
12th November 2005
Version 1.2.1 of GraphThing is available; it is a
bug-fix release, exclusively for some problems writing vertex labels to files.
If you know that this is not happening, this release is not for you.
28th October 2005
Version 1.2 of GraphThing is out now!
Changes are mainly for multilingual support, so if you only use it in English,
and you haven't had any problems compiling it, you don't need to upgrade from
1.1 to this version.
- Major multi-lingual support fixes
- New French translation
- Updated Catalan, Italian, Romanian and Spanish translations
At the moment, only support for simple graphs and digraphs are supported; that
is, no multiple edges or loops. Other than this,
GraphThing can handle every type of graph. Below is a
brief list of some of the main features of GraphThing:
- Adding, deleting and moving of vertices and edges.
- Loading and saving of graphs.
- Graph complements, induced subgraphs and line graphs.
- Quick creation of many common graphs (complete, cycle, null, star, etc.).
- Determination of shortest path, connectivity and Eulericity.
- BFS, DFS and Minimum Spanning Tree.
- Adjacency matrix (including exponents) and degree sequence.
- Chromatic polynomial and chromatic number.
- Network algorithms: Maximum network flow.
GraphThing runs natively with English messages. The
latest version of GraphThing has support for the
following languages. If you would like to have
GraphThing in your native language, and can help by
translating, please get in contact with me!
It is reported that there are several problems with accented characters under
the GTK port of wxWidgets. This usually happens with non-Unicode builds of
wxWidgets, and can be remedied by either compiling
GraphThing against a Unicode build of wxWidgets, or
using a language code of something like 'fr_FR.UTF-8' (in the case of French).
The way to specify which language to use is operating system-dependent, but it
comes down to setting the LANGUAGE environment variable to the
language code (see the table above) of your choice. Microsoft Windows users
should follow
these instructions for
Windows XP, or these
instructions for Windows 2000.
You can either compile GraphThing yourself, or download
a pre-made binary.
To compile it yourself, you will need:
- A Unix-like operating system (GNU/Linux, *BSD, Cygwin on MS Windows, Mac OSX, etc.)
- A reasonable C++ compiler (I use g++ 4.0.1)
- wxWidgets 2.6.1, or later - with development files
If you want multilingual support to work properly, you'll
want to use a Unicode build of wxWidgets, if possible. For when you're not
building wxWidgets yourself, but rather using a package from somewhere, here is
what you need to know:
- Binary packages: (Some might be out of date - check version numbers!)
- Source code:
- Other systems: (Some might be out of date - check version numbers!)
- Change Log: FeatureLog
There is a mailing list for GraphThing, open to everyone who wishes to
discuss GraphThing. Feature requests, bug reports, general complaints
and praise are all welcome, though you must be subscribed to the list to be
able to post.
To subscribe, send an email (with no subject) to
majordomo@seul.org, and a body of
subscribe graphthing-discuss
The list archives are
also available.
David Symonds <dsymonds@gmail.com>