Web lists-archives.com

Re: Interactive data plotting application




hi,

i've done all this in my data anlysis display app (pqlx), except for scrolling, and i've created an example of most of this using GTK3 and Cairo that you can find here:

https://gitlab.com/ivor/GTK3-Cairo

i use a drawing area inside a container widget, using Cairo for drawing, that is wholly sufficient for even my most complex requirements.

cheers,

richard

p.s. the pqlx app, itself, is open-source and available when you're interested in seeing a complete implementation.  you can find that here:
https://ds.iris.edu/ds/nodes/dmc/software/downloads/pqlx/
file: src/utils/hlpr/plotPDFCairo.c (though this implemenation is GTK2)

On Sun, Jan 10, 2016 at 7:05 AM, Jozef V.Molnár <jv.molnar@xxxxxxxxxxxxxx> wrote:
Dear subscribers,

I need to develop a GTK3 widget for data plotting, drawing and analysis
purposes.
I need the following features (many are standard requirements):
- have a grid sensitive to mouse (to invoke a configuring menu)
- add/remove plots
- plots sensitive to mouse (display the data coordinates)
- more than cursors (to perform measurements)
- cursors capable of find edges of data plots
- scrolling

My idea was to use GtkLayout but I am open to any better advice.

I have made a simple demo with GtkDrawingArea (I can send it per
request) where I can draw with Cairo but cannot receive events. If I
change the parent from GtkDrawingArea to GtkLayout, I can receive events
but the draw function will not be called.

I am new to GTK and need a suggestion on how to organize my objects:
- plotting area
- cursors
- grid
- plots

all should be sensitive to mouse clicks to invoke configuration, move
up/down (plots), do measurements, display coordinates etc.

I searched the internet a lot but did not find many examples. I tried
GoatPlot as base...

I also would like to add this widget to a VBox and if I zoom in the X
axis, all widgets should zoom in the X axis (but not the Y axis).

Finally I would like to be able to print/export the contents etc...

I know this is time consuming (at least for me) but I would appreciate
any help.

Thank you in advance and best regards
Jozef Molnar


_______________________________________________
gtk-list mailing list
gtk-list@xxxxxxxxx
https://mail.gnome.org/mailman/listinfo/gtk-list

_______________________________________________
gtk-list mailing list
gtk-list@xxxxxxxxx
https://mail.gnome.org/mailman/listinfo/gtk-list