By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,637 Members | 3,219 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,637 IT Pros & Developers. It's quick & easy.

Drawing graphs with PHP

P: n/a
Hi all,

i have a question:

is there any librairy for drawing graphs with PHP? Not graphs like
histogram or alike, but like a set of shapes linked together in a certain
way (like a flow chart or call graph).

I have found a script to handle the graph in memory but i can already do
that, my problem is to draw it (it an optimal way, and without crossing
links if possible).

Thx
--
TheDD
Jul 17 '05 #1
Share this Question
Share on Google+
6 Replies


P: n/a
On Sun, 09 Nov 2003 10:49:52 +0100, TheDD wrote:
Hi all,

i have a question:

is there any librairy for drawing graphs with PHP? Not graphs like
histogram or alike, but like a set of shapes linked together in a certain
way (like a flow chart or call graph).

I have found a script to handle the graph in memory but i can already do
that, my problem is to draw it (it an optimal way, and without crossing
links if possible).

Thx

Not 100% sure if it covers your req's.. but have a google for 'JPGraph'.
This might be just what you're looking for =)
HTH.

Regards,

Ian

--
Ian.H [Design & Development]
digiServ Network - Web solutions
www.digiserv.net | irc.digiserv.net | forum.digiserv.net
Programming, Web design, development & hosting.

Jul 17 '05 #2

P: n/a
On Sun, 9 Nov 2003 10:49:52 +0100, TheDD <pa***@email.com> wrote:
i have a question:

is there any librairy for drawing graphs with PHP? Not graphs like
histogram or alike, but like a set of shapes linked together in a certain
way (like a flow chart or call graph).

I have found a script to handle the graph in memory but i can already do
that, my problem is to draw it (it an optimal way, and without crossing
links if possible).


The most popular free directed graph drawing library is the 'dot' program from
the Graphviz library:

http://www.research.att.com/sw/tools/graphviz/

It does a decent enough job for small-ish graphs (<50 nodes), can output in
various formats, including HTML image maps so you can make the nodes clickable.

Basically you'll have to output a file in the simple format that dot
understands describing the graph, and use system() or backticks `` to call dot
to render that to a file.

Doesn't guarantee optimal layout or zero crossing edges; it uses heuristics to
get a generally reasonable layout.

There are commercial packages that do a better job but they're mostly
incredibly expensive. The Graph Layout Toolkit from Tom Sawyer Software looked
impressive, but the quote they called back with had quite a few zeroes ;-)

--
Andy Hassall (an**@andyh.co.uk) icq(5747695) (http://www.andyh.co.uk)
Space: disk usage analysis tool (http://www.andyhsoftware.co.uk/space)
Jul 17 '05 #3

P: n/a
On Sun, 09 Nov 2003 09:55:15 GMT, Ian.H wrote:
On Sun, 09 Nov 2003 10:49:52 +0100, TheDD wrote:
[...]

Not 100% sure if it covers your req's.. but have a google for 'JPGraph'.
This might be just what you're looking for =) HTH. Regards,


No, it's for histogram graphs and similar :(

Thx anyway
--
TheDD
Jul 17 '05 #4

P: n/a
On Sun, 09 Nov 2003 14:10:39 +0000, Andy Hassall wrote:
On Sun, 9 Nov 2003 10:49:52 +0100, TheDD <pa***@email.com> wrote:
[...]

The most popular free directed graph drawing library is the 'dot' program from
the Graphviz library: http://www.research.att.com/sw/tools/graphviz/ It does a decent enough job for small-ish graphs (<50 nodes), can output in
various formats, including HTML image maps so you can make the nodes clickable. Basically you'll have to output a file in the simple format that dot
understands describing the graph, and use system() or backticks `` to call dot
to render that to a file.
I thought about this, but i was hopping for something "better integrated".
I will look how this can be done (html map png image, html, or just
getting the coordinates and drawing myself).
Doesn't guarantee optimal layout or zero crossing edges; it uses heuristics to
get a generally reasonable layout. There are commercial packages that do a better job but they're mostly
incredibly expensive. The Graph Layout Toolkit from Tom Sawyer Software looked
impressive, but the quote they called back with had quite a few zeroes ;-)


Yeah, i can imagine ;)

Thx
--
TheDD http://www.epita.fr/~mancel_d
Ing2 Groupe B2
EPITA Promotion 2005
Jul 17 '05 #5

P: n/a
On Tue, 11 Nov 2003 10:49:38 +0100, TheDD <ma******@epita.fr> wrote:
On Sun, 09 Nov 2003 14:10:39 +0000, Andy Hassall wrote:
On Sun, 9 Nov 2003 10:49:52 +0100, TheDD <pa***@email.com> wrote:

[...]

The most popular free directed graph drawing library is the 'dot' program from
the Graphviz library:

http://www.research.att.com/sw/tools/graphviz/

It does a decent enough job for small-ish graphs (<50 nodes), can output in
various formats, including HTML image maps so you can make the nodes clickable.

Basically you'll have to output a file in the simple format that dot
understands describing the graph, and use system() or backticks `` to call dot
to render that to a file.


I thought about this, but i was hopping for something "better integrated".
I will look how this can be done (html map png image, html, or just
getting the coordinates and drawing myself).


Haven't tried it personally, but a quick search came up with the following PHP
class for wrapping up Graphviz:

http://pear.php.net/package/Image_GraphViz

Probably worth a look.

--
Andy Hassall (an**@andyh.co.uk) icq(5747695) (http://www.andyh.co.uk)
Space: disk usage analysis tool (http://www.andyhsoftware.co.uk/space)
Jul 17 '05 #6

P: n/a
Andy Hassall wrote:
[...]
Haven't tried it personally, but a quick search came up with the following PHP
class for wrapping up Graphviz:

http://pear.php.net/package/Image_GraphViz

Probably worth a look.


Yes, it will prevent me from writing some code, but not a hard part. It's still
not integrated since i need to save a dot file (through the lib), proccess
through graphviz, and then use the output :/

Thx anyway :) i will work on this again in one week.

NB: i must be a bad searcher ;)

--
TheDD

Jul 17 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.