Home » Community » U++ community news and announcements » New graph packages
Re: New graph packages [message #35826 is a reply to message #35680] |
Mon, 26 March 2012 23:53 |
Didier
Messages: 680 Registered: November 2008 Location: France
|
Contributor |
|
|
Hi all,
My graph package is taking form so I'm going to publish a first version.
The design guideline I followed was to make it the most configurable possible, in order to be able to do a lot of things (at least for 2D graphs)
GraphDraw is based on the followinf principles:
- A coordinate manager is in charge of each graph<->screen conversion => a unique instance is used for plotting, grid/axis management
- The plot can be decorated with "GraphElements" (Left, right, top, bottom, over the whole graph, ...) just like Ctrls.
They are stacked on each side of the plot. You can create whatever class you need for you're graph (like drawing exclusion zones on a graph, ...)
One nice feature of GraphElements is that they have a callback that is called when mouse clicks on it ==> In the example try clicking on the axis
- The Grid and Axis drawing are grouped in one class that can be overloaded (in fact it is a GraphElement)
- The tick management is dedicated to a specific class: GridStepManager : it calculates the positions where ticks/grid needs to be drawn. The intent of this class is to allow custom step calculation (log, ...)
The main classes are:
- CoordinateConverter : it manages the coordinate conversion and can be overloaded for custom needs
- GraphLementFrame :
- GridAxisDraw
- GridStepManager
- GraphDraw
- EmptyGraphDraw |
- StdGraphDraw | helper classes intended to ease the use
The code is pretty dirty and not cleaned at all ( lots and lots of templates, I will kick them out once architecture and optimisations are finished )
The easyest way to use it to use the 'StdGraphCtrl' as in the example
Many functions are missing (zoom, scroll, ...) but the code architecture is pretty much finished although a lot of work is still to be done .
The data management is 100% compatible with ScatterDraw since it uses the same interface.
You can put as many axis as you wan't
[Updated on: Tue, 27 March 2012 00:02] Report message to a moderator
|
|
|
|
|
New graph packages
By: koldo on Sun, 15 January 2012 09:45
|
|
|
Re: New graph packages
By: BioBytes on Mon, 16 January 2012 22:22
|
|
|
Re: New graph packages
By: koldo on Mon, 16 January 2012 23:24
|
|
|
Re: New graph packages
By: Didier on Sat, 21 January 2012 12:18
|
|
|
Re: New graph packages
By: koldo on Sat, 21 January 2012 21:29
|
|
|
Re: New graph packages
By: koldo on Sat, 21 January 2012 23:27
|
|
|
Re: New graph packages
By: Didier on Sun, 22 January 2012 11:21
|
|
|
Re: New graph packages
By: ratah on Mon, 23 January 2012 09:39
|
|
|
Re: New graph packages
By: mirek on Mon, 23 January 2012 19:30
|
|
|
Re: New graph packages
By: mirek on Mon, 23 January 2012 19:54
|
|
|
Re: New graph packages
By: koldo on Mon, 23 January 2012 22:38
|
|
|
Re: New graph packages
By: mr_ped on Tue, 24 January 2012 08:48
|
|
|
Re: New graph packages
By: Didier on Fri, 03 February 2012 18:22
|
|
|
Re: New graph packages
By: koldo on Fri, 03 February 2012 19:53
|
|
|
Re: New graph packages
By: koldo on Sat, 04 February 2012 00:11
|
|
|
Re: New graph packages
By: koldo on Sat, 18 February 2012 21:15
|
|
|
Re: New graph packages
By: Didier on Sun, 19 February 2012 13:30
|
|
|
Re: New graph packages
By: koldo on Sat, 03 March 2012 21:56
|
|
|
Re: New graph packages
By: Didier on Sun, 04 March 2012 13:48
|
|
|
Re: New graph packages
By: koldo on Sun, 04 March 2012 15:05
|
|
|
Re: New graph packages
By: Didier on Mon, 05 March 2012 22:33
|
|
|
Re: New graph packages
By: koldo on Tue, 06 March 2012 20:37
|
|
|
Re: New graph packages
By: Didier on Tue, 06 March 2012 21:17
|
|
|
Re: New graph packages
By: koldo on Tue, 06 March 2012 23:40
|
|
|
Re: New graph packages
By: mirek on Wed, 07 March 2012 08:02
|
|
|
Re: New graph packages
By: koldo on Wed, 07 March 2012 09:18
|
|
|
Re: New graph packages
By: mirek on Wed, 07 March 2012 09:31
|
|
|
Re: New graph packages
By: Didier on Wed, 07 March 2012 22:24
|
|
|
Re: New graph packages
By: koldo on Thu, 08 March 2012 12:57
|
|
|
Re: New graph packages
By: Didier on Fri, 09 March 2012 15:17
|
|
|
Re: New graph packages
By: Didier on Fri, 09 March 2012 23:27
|
|
|
Re: New graph packages
By: koldo on Sun, 11 March 2012 18:16
|
|
|
Re: New graph packages
By: Didier on Sun, 11 March 2012 19:50
|
|
|
Re: New graph packages
By: koldo on Sun, 11 March 2012 21:17
|
|
|
Re: New graph packages
By: Didier on Sun, 11 March 2012 22:22
|
|
|
Re: New graph packages
By: koldo on Mon, 12 March 2012 09:10
|
|
|
Re: New graph packages
|
|
|
Re: New graph packages
By: koldo on Mon, 12 March 2012 09:12
|
|
|
Re: New graph packages
|
|
|
Re: New graph packages
By: koldo on Mon, 12 March 2012 12:16
|
|
|
Re: New graph packages
By: Didier on Mon, 26 March 2012 23:53
|
|
|
Re: New graph packages
By: Didier on Tue, 27 March 2012 00:00
|
|
|
Re: New graph packages
By: Didier on Thu, 29 March 2012 22:30
|
|
|
Re: New graph packages
By: mirek on Sat, 31 March 2012 10:51
|
|
|
Re: New graph packages
By: Didier on Mon, 02 April 2012 23:36
|
|
|
Re: New graph packages
By: Didier on Mon, 16 April 2012 21:38
|
|
|
Re: New graph packages
By: Didier on Thu, 19 April 2012 14:42
|
|
|
Re: New graph packages
By: koldo on Fri, 20 April 2012 08:00
|
|
|
Re: New graph packages
By: Didier on Tue, 01 May 2012 22:50
|
|
|
Re: New graph packages
By: Didier on Sun, 27 May 2012 12:24
|
|
|
Re: New graph packages
By: Didier on Tue, 03 July 2012 18:12
|
|
|
Re: New graph packages
By: 281264 on Mon, 16 July 2012 21:35
|
|
|
Re: New graph packages
|
|
|
Re: New graph packages
By: 281264 on Mon, 16 July 2012 22:29
|
|
|
Re: New graph packages
By: Didier on Mon, 16 July 2012 23:56
|
|
|
Re: New graph packages
By: Didier on Fri, 20 July 2012 16:23
|
|
|
Re: New graph packages
By: ratah on Mon, 24 September 2012 11:43
|
|
|
Re: New graph packages
By: Didier on Mon, 24 September 2012 19:29
|
|
|
Re: New graph packages
By: koldo on Mon, 24 September 2012 21:13
|
|
|
Re: New graph packages
By: Didier on Sat, 26 January 2013 20:13
|
|
|
Re: New graph packages
By: Didier on Sat, 26 January 2013 20:18
|
|
|
Re: New graph packages
By: Didier on Fri, 01 February 2013 20:36
|
|
|
Re: New graph packages
By: Didier on Tue, 12 February 2013 00:08
|
|
|
Re: New graph packages
By: Didier on Fri, 22 February 2013 17:45
|
|
|
Re: New graph packages
By: Didier on Sat, 04 May 2013 15:18
|
|
|
Re: New graph packages
By: 281264 on Mon, 20 May 2013 21:56
|
|
|
Re: New graph packages
By: Didier on Tue, 21 May 2013 19:50
|
|
|
Re: New graph packages
By: jerson on Wed, 22 May 2013 03:49
|
|
|
Re: New graph packages
By: Didier on Wed, 22 May 2013 22:02
|
|
|
Re: New graph packages
By: jerson on Thu, 23 May 2013 02:40
|
|
|
Re: New graph packages
By: Didier on Mon, 14 October 2013 23:40
|
|
|
Re: New graph packages
By: Didier on Fri, 01 November 2013 13:04
|
|
|
Re: New graph packages
By: Didier on Mon, 11 November 2013 23:00
|
|
|
Re: New graph packages
By: Didier on Sun, 17 November 2013 00:47
|
|
|
Re: New graph packages
By: Didier on Sat, 21 December 2013 23:21
|
|
|
Re: New graph packages
By: Didier on Mon, 23 December 2013 23:33
|
|
|
Re: New graph packages
By: Didier on Sun, 05 January 2014 23:48
|
|
|
Re: New graph packages
|
|
|
Re: New graph packages
By: Didier on Fri, 10 January 2014 21:58
|
|
|
Re: New graph packages
|
|
|
Re: New graph packages
By: Didier on Sat, 11 January 2014 22:55
|
|
|
Re: New graph packages
By: Didier on Sun, 12 January 2014 16:15
|
|
|
Re: New graph packages
By: Didier on Tue, 14 January 2014 23:43
|
|
|
Re: New graph packages
By: Didier on Thu, 16 January 2014 19:44
|
|
|
Re: New graph packages
By: Didier on Tue, 18 February 2014 23:40
|
|
|
Re: New graph packages
By: Didier on Sun, 23 February 2014 22:56
|
|
|
Re: New graph packages
By: Didier on Thu, 06 March 2014 00:30
|
|
|
Re: New graph packages
By: 281264 on Sun, 09 March 2014 11:55
|
|
|
Re: New graph packages
By: Didier on Mon, 17 March 2014 21:06
|
Goto Forum:
Current Time: Mon Jun 03 23:14:32 CEST 2024
Total time taken to generate the page: 0.02026 seconds
|