This cookbook introduces the reader to the development of graphical user interfaces with plots for science teaching and research. The programs are written in Python 3 and the user interface is build using the Python3-bindings for GTK+ 3.x (PyGObject), and the layout is done both within the code and using a graphical user-interface builder (Glade). The plots are made using Matplotlib.
##Author Tobias Schönberg
##Repository https://github.com/spiessbuerger/GTK3-Matplotlib-Cookbook
##Reading the Book http://gtk3-matplotlib-cookbook.readthedocs.org/
##Progress The book is currently under development.
##Participation You can participate by forking the repository or opening an issue at the repository.
##Code Review This reposistory is monitored by Landscape (https://landscape.io/).
##News and Comments ###2014-12-26 I have been busy on some other projects lately. Revisiting this project, I had some trouble running my examples on Ubuntu 14.04 and the current master of Matplotlib (1.5.dev1). The problem seems to be in the gtk3agg backend. I get the following error: NotImplementedError: Surface.create_for_data: Not Implemented yet.. Not sure how many people have trouble with this, but it is mentioned in different places (e.g. http://matplotlib.1069221.n5.nabble.com/Matplotlib-py3-gtk3-td42953.html). Getting the plots to work again just requires you to switch rendering backends:
from matplotlib.backends.backend_gtk3cairo import FigureCanvasGTK3Cairo as FigureCanvas
###2014-07-26 The fourth chapter about entering data is finished. I also decided to start code reviewing with Landscape. The score was 63 % on standard settings and 23 % on high (meaning very strict code reviewing). The low score is mostly caused by the conf.py file from Sphinx, my usage of "old classes" and Landscape complaining about the Gtk specific code. I will try to deal with the issues first, before uploading more chapters.
###2014-06-27 Third chapter about zooming closer to datapoints is done. Currently I am just adding examples when I'm pleased with them. I will reorganize the book once the content is done. The new example relies heavily on classes. Does anybody reading this think that the amount of explanation is sufficient?
###2014-06-19 This Cookbook is not finished and will be gradually developed in the coming months. If you would like to participate you can mail me or fork the repository. I am a beginning programmer, so the presented code might not be optimal. If you find any sub-optimal sections please write me, or create an issue or pull request on Github.