What's new? | Help | Directory | Sign in
Google
jrfonseca
José Fonseca's utilitarian scripts
  
  
  
  
    
Search
for
Updated Jan 07, 2008 by Jose.R.Fonseca
Labels: Script, Python, Featured
XDot  
Interactive viewer for Graphviz dot files

About

xdot.py is an interactive viewer for graphs written in Graphviz's dot language.

It uses internally the graphviz's xdot output format as an intermediate format, and PyGTK and Cairo for rendering.

xdot.py can be used either as a standalone application from command line, or as a library embedded in your python application.

Status

Features

Known Issues

Screenshots

Requirements

Windows users

Debian/Ubuntu users

Usage

Command Line

usage: 
	xdot.py [file]

options:
  --version   show program's version number and exit
  -h, --help  show this help message and exit

If no input file is given then it will read the dot graph from the standard input.

Embedding

Sample code

#!/usr/bin/env python


import gtk
import gtk.gdk

import xdot


class MyDotWindow(xdot.DotWindow):

	def __init__(self):
		xdot.DotWindow.__init__(self)
		self.widget.connect('clicked', self.on_url_clicked)

	def on_url_clicked(self, widget, url, event):
		dialog = gtk.MessageDialog(
				parent = self, 
				buttons = gtk.BUTTONS_OK,
				message_format="%s clicked" % url)
		dialog.connect('response', lambda dialog, response: dialog.destroy())
		dialog.run()
		return True


dotcode = """
digraph G {
  Hello [URL="http://en.wikipedia.org/wiki/Hello"]
  World [URL="http://en.wikipedia.org/wiki/World"]
	Hello -> World
}
"""


def main():
	window = MyDotWindow()
	window.set_dotcode(dotcode)
	window.connect('destroy', gtk.main_quit)
	gtk.main()


if __name__ == '__main__':
	main()

Result

Download

Links


Sign in to add a comment