Hi,
It was great to meet many of the Matplotlib developers at SciPy 2013. I had a great time and I learnt a huge amount, which I am slowly starting to digest.
In particular, without the Matplotlib sprint, I would never have got off the ground – many thanks to all those who took the time to be patient with me!
I have been working, as a first step, on colored line support. This is not, of course, new – it’s all in LineCollection. However, as a user, LineCollection is intimidating and difficult to understand, and does not lead to easy experimentation (I speak from experience).
At Tony’s suggestion, the first step was to rewrite the multicolored_line.py example.
You can find my first attempt as an IPython notebook at
https://github.com/dpsanders/matplotlib-examples/blob/master/linecolor.ipynb
or
http://nbviewer.ipython.org/urls/raw.github.com/dpsanders/matplotlib-examples/master/linecolor.ipynb
Please let me have any comments before I attempt the next step of making a pull request.
It seems to me that IPython notebooks are quite a natural format for such examples, especially with a view to having interactive examples in the future.
I have tried, as discussed in the sprint, to separate the data processing from the plotting.
The function “linecolor” (the only other reasonable name that I thought of was “colorline”) should be able to be extracted without too much effort (hopefully?) into the axes module and into pyplot.
What is the situation with tagging the examples? If the examples are being refactored, it would seem to at least be a natural moment to start adding tags, even if nothing is actually done with them yet.
Along these lines, it seems to me that there is a lot of other functionality which is difficult to get at for the average user who does not understand collections or patches.
For example, there is an ‘arrow’ function in pyplot, which just exposes the FancyArrow patch, but there is no corresponding ‘circle’, ‘ellipse’ etc. function for those patches.
I think this would be a great addition – what is the general consensus?
By the way, I only understood what an ‘axes’ object is yesterday, even though I have been using Matplotlib for several years. The documentation that I found seems to assume that the user is coming from Matlab and already implicitly understands what ‘axes’ refers to.
Some more general comments which I have been led to in this process:
-
Ben made the comment that it was very important to have figures in the documentation for each function. I completely agree with this. It seems to me that a simple way to achieve this would be to have one example for each function, with the name of the example file being the same as the name of the function (à la Matlab!) Thus I have (re-)named the script as “linecolor.py”.
-
At the moment, there seem to be too many places with examples:
screenshots, examples, gallery, scipy cookbook, figures for each function, etc.
I think that the (refactored) gallery is the solution, and is where people should be pointed – the screenshots page and the examples page do not seem to me to be useful / necessary.
- Also during the BoF / sprint, style sheets were discussed several times.
Tony seems to have already solved this problem in his mpltools package – I would suggest that this could be brought straight into Matplotlib?
Thanks to everybody for a great package (and for reading all this, if you get this far). Please let me know if this is (not) the right place to discuss such things.
Best wishes,
David.
···
–
Dr. David P. Sanders
Profesor Titular A / Associate Professor
Departamento de Física, Facultad de Ciencias
Universidad Nacional Autónoma de México (UNAM)
dpsanders@…272…149…
http://sistemas.fciencias.unam.mx/~dsanders
Cubículo / office: #414
Tel.: +52 55 5622 4965