tags:

views:

350

answers:

3

I am trying to create a GUI interface in VB to track... oh, nevermind.

Basically, I want to create a GUI in python to display data, but I am finding that mathplotlib is not suiting my needs. I would like to be able to highlight certain datapoints, have more freedom in the text drawn to the screen, have animations on data movement, and have dropdown menus for data points. From what I have seen, I do not believe that mathplotlib can do these things. What utility can I look into to better suit my needs?

A: 

QGraphicsScene/View from PyQt4 is a fantastic piece of code. Although your description makes me think that some upfront work will be necessary to make things work.

...don 't trust me, I'm biased ;) Get the library here and check the demos.

wuub
Looks interesting. Could you possibly provide a link to a demo of the capabilities of pyqt4?
Also, I need to plot a large number of data points in my program: would qgraphicsscene work for this? It seems that there would be a lot of work required to get the same graphing functionality of mathplotlib. As I said, I am not satisfied with mathplotlib, but I really like being able to throw it data and have it autosize the graph.
@awegawef: The demo app is delivered with the library. It's a port of C++ Qt Demos described here: http://doc.qtsoftware.com/4.5/demos.html.
wuub
@awegawef: You really need to give the demos a try and decide for yourself. PyQt is a GUI toolkit, mathplotlib is a plotting library, it all depends on what you want to achieve. Power often comes with added complexity.
wuub
A: 

The equivalent of matplotlib in the PyQt world is PyQwt (matplotlib integrates with PyQt also, but with PyQwt the integration is smoother). Take a look at this comparison between matplotlib and PyQwt:

http://eli.thegreenplace.net/2009/06/05/plotting-in-python-matplotlib-vs-pyqwt/

Carlos Santos
+1  A: 

I haven't used it myself but Chaco seems to fit some of your needs. It is more interactive than matplotlib and can be used to make quite interactive applications.

Chaco is a Python plotting application toolkit that facilitates writing plotting applications at all levels of complexity, from simple scripts with hard-coded data to large plotting programs with complex data interrelationships and a multitude of interactive tools. While Chaco generates attractive static plots for publication and presentation, it also works well for interactive data visualization and exploration.

ihuston