Google do something like this; see
http://finance.google.co.uk/finance?client=ob&q=NASDAQ:GOOG
but it looks like there really isn't that much data, so it's mostly
zooming in and out; but it's still very effective.

Our time series software package, QSAS, also does interactive zooming,
selection, and analysis of time-ordered data
(www.sp.ph.ic.ac.uk/csc-web/QSAS ). It would be easy to write the
necessary bits to ingest financial data (we don't do candlesticks and
such, but others have shown you how that can be done I think. If you
wanted to grab our source code and add them yourself, feel free to
download it, but it is probably too heavy a piece of machinery to make
that the best route unless you have time to spare and are conversant in
C++ - and perhaps Qt). 

Interacting with the plot is straightforward. In our case, we have
written a Qt driver for plplot, and so the plot is embedded in a Qt
widget. The (new) zooming tool is likewise a Qt widget, which makes it
easy to talk to the main program and manipulate the data. We will (one
day soon) supply this driver to plplot-devel. There must be equivalent
things that could be done with the tk or wx drivers I suspect.

If you really have "zillions" of points, then as you zoom out you
probably want to smooth the data in some way, e.g., by averaging it
down. This will ensure that (a) you don't overplot several points at the
same time-pixel resolution and (b) that the resulting flucutations don't
end up with a thick black smudge. Continuous (i.e., while you're
zooming) smoothing on zillions of points will grind your processor to a
halt, so you either do it in real time in steps, or you store the data
at different resolutions and plot the appropriate one.

For speed, we only plot data that we've ingested and stored in memory,
i.e., we do a single ingestion of all the (likely) time-range of
interest and then analyse, zoom, etc. For larger data sets or more
flexibility you might want the code to talk to the database and fetch
what it needed when it needed it, though here there's an I/O speed
tradeoff to be considered.

The bottom line is that for sure what is being sought is possible. It
will need a careful plan for what is required, followed by some
programming effort.

Good luck...

Steve

On Wed, 2009-02-04 at 14:53 +0100, Vadim Zeitlin wrote:
> On Tue, 3 Feb 2009 13:30:47 -0600 Maurice LeBrun <m...@brownwolf.org> wrote:
> 
> ML> Dunno about wx, but with TK you can easily hijack the default key/mouse
> ML> handlers with those of your own choosing.
> 
>  I don't see any keyboard/mouse handling at all in wx-specific code so
> either this is not implemented for it or I'm looking in the wrong place
> again.
> 
> ML> So one can imagine a tool that models zillions of plot elements, each
> ML> of which only become visible once zoomed to a sufficiently high
> ML> resolution.
> 
>  Has anybody ever done anything like this? I'd really like to do it like
> this but I just don't see any PLplot functions which would allow me to
> provide data on demand like this and I don't quite see how to approach it
> from outside PLplot so it would be very helpful to have an example.
> 
>  Thanks in advance!
> VZ
> ------------------------------------------------------------------------------
> Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
> software. With Adobe AIR, Ajax developers can use existing skills and code to
> build responsive, highly engaging applications that combine the power of local
> resources and data with the reach of the web. Download the Adobe AIR SDK and
> Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
> _______________________________________________ Plplot-devel mailing list 
> Plplot-devel@lists.sourceforge.net 
> https://lists.sourceforge.net/lists/listinfo/plplot-devel
-- 
+-------------------------------------------------------------------+
Professor Steven J Schwartz        Phone: +44-(0)20-7594-7660
Head, Space & Atmospheric Physics  Fax:   +44-(0)20-7594-7900
The Blackett Laboratory            E-mail: s.schwa...@imperial.ac.uk
Imperial College London            Office: Huxley 711A 
London SW7 2AZ, U.K.               Web: www.sp.ph.ic.ac.uk/~sjs
+-------------------------------------------------------------------+


------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to