What would you like to see in a book about Matplotlib?

S

Sandro Tosi

Hello and Happy 2009!

I received the interesting proposal to author a book on Matplotlib,
the powerful 2D plotting library for Python.

While preparing the arguments list, I'd like to hear even your
opinion, because different points-of-view will lead to a better
product.

Some basic question I'd like to ask are:

- what are you using matplotlib for?
- what are the things you like the most of matplotlib, that you want
to give emphasis to? And why?
- what are the (basic) things that, when you were beginning to use
matplotlib, you wanted to see grouped up but couldn't find?
- what would you like to see in a book about matplotlib?
- what are some those advanced feature that made you yell "WOW!!" ?
- what are the things you'd like to explore of matplotlib and never
had time to do?

Your suggestions are really appreciated :) And wish me good luck!
 
M

Marco Nawijn

Hello and Happy 2009!

I received the interesting proposal to author a book on Matplotlib,
the powerful 2D plotting library for Python.

While preparing the arguments list, I'd like to hear even your
opinion, because different points-of-view will lead to a better
product.

Some basic question I'd like to ask are:

- what are you using matplotlib for?
- what are the things you like the most of matplotlib, that you want
to give emphasis to? And why?
- what are the (basic) things that, when you were beginning to use
matplotlib, you wanted to see grouped up but couldn't find?
- what would you like to see in a book about matplotlib?
- what are some those advanced feature that made you yell "WOW!!" ?
- what are the things you'd like to explore of matplotlib and never
had time to do?

Your suggestions are really appreciated :) And wish me good luck!

Hello Sandro,

I am happy to hear that there might be a book on Matplotlib. I am
using Matplotlib for a while now and find it a very usefull and
powerfull library for generating graphs. I will try to answer some of
your questions. I am by no means an expert in the field, so I only
express my personal experience.
to give emphasis to? And why? In general I like the most the fact that
I can generate high quality publication ready graphs with a consistent
look with minimal effort. Further, although the matlab-style commands
are very usefull I think the class interface is more powerfull. The
class interface also has a steeper learning curve. So, for me it would
be very interesting if much emphasis will be on the class interface.
matplotlib, you wanted to see grouped up but couldn't find? I
seriously hope the book is not for "dummies", but provides at least a
significant amount of information on more advanced features of
Matplotlib. I think the currently available tutorials are sufficient
to getting started. From my point of view I am very interested in:
- Dynamically updating a series of graphs
- Configuring layout of graphs (colors, labels, legends, etc.)
- Managing dimensions of the figure when you export the figure to
e.g PNG. For me this is interesting in the sense that if I insert a
figure in a report/paper, I would like that the fonts used in the
graph remain proportional to the surrounding text.

If you need more information please let me know.

I wish you good luck!

Kind regards,

Marco
 
J

James Stroud

Sandro said:
Hello and Happy 2009!

I received the interesting proposal to author a book on Matplotlib,
the powerful 2D plotting library for Python.

While preparing the arguments list, I'd like to hear even your
opinion, because different points-of-view will lead to a better
product.

Some basic question I'd like to ask are:

- what are you using matplotlib for?

Matplot lib shines for interactive environments wherein graphs and
charts must be produced. I have incorporated it into a simple program
for analysis of fluorometric data: http://fluorit.bravais.net/

(The forthcoming version 1.0 is a quantum improvement in speed and
function over the SLOW *prototype* version 0.9 currently available--see
the wish list, feature requests, and known issues for details. Version
1.0 is very fast.)
- what are the things you like the most of matplotlib, that you want
to give emphasis to? And why?

The ability to embed a figure (composed of subplots) into a custom
window is my favorite aspect. Also: massive configurability of plots,
event driven plot canvas, antigrain geometry antialiasing are also all
very important. Additionally the toolbar of standard interactive
functions and the ability to export plots in a variety of formats are
also invaluable features.
- what are the (basic) things that, when you were beginning to use
matplotlib, you wanted to see grouped up but couldn't find?

The documentation for basic plot configuration, especially for embedded
plots, and also tapping into the event model is very weak currently.
These need the most improvement.
- what would you like to see in a book about matplotlib?

A big, huge, gigantic, chapter---no make that 3 chapters--on programming
interactivity with the plot canvas.
- what are some those advanced feature that made you yell "WOW!!" ?

I listed them above, but my most "WOW" moment was when I saw the Tkinter
backend doing beautiful antialiasing. I was also very happy to
seamlessly add new functionality to the toolbar.
- what are the things you'd like to explore of matplotlib and never
had time to do?

I want to program a lot of interactivity with the plots in my current
application.
Your suggestions are really appreciated :) And wish me good luck!

Good luck! I can't wait to read your book!


James

--
James Stroud
UCLA-DOE Institute for Genomics and Proteomics
Box 951570
Los Angeles, CA 90095

http://www.jamesstroud.com
 
T

Thomas Guettler

Sandro said:
Some basic question I'd like to ask are:

- what are you using matplotlib for?

I use the API to create PNGs from data stored in postgres. Webframework: Django.
- what are the (basic) things that, when you were beginning to use
matplotlib, you wanted to see grouped up but couldn't find?

The API is not good documented. It was very hard for me to understand
what was going on the source.
- what would you like to see in a book about matplotlib?

How to use the API.

Thomas
 
S

Sandro Tosi

Hello Marco,
thanks for your reply (and sorry for my late one)

I am happy to hear that there might be a book on Matplotlib. I am
using Matplotlib for a while now and find it a very usefull and
powerfull library for generating graphs. I will try to answer some of
your questions. I am by no means an expert in the field, so I only
express my personal experience.

And that's fine, because the audience of the book is people that have
never seen matplotlib and wanted to learn it.

Just out of curiosity: how do you refresh those plots? in a loop
closing/opening the figure or clear the figure and replot on it? are
those graphs embedded in an application or are just "shown on screen"?
to give emphasis to? And why? In general I like the most the fact that
I can generate high quality publication ready graphs with a consistent
look with minimal effort.

Indeed, that's one of the reason for its use in so many scientific
environments.
Further, although the matlab-style commands
are very usefull I think the class interface is more powerfull. The
class interface also has a steeper learning curve. So, for me it would
be very interesting if much emphasis will be on the class interface.

Yes, we will show the "class" interface during the examples, while
showing the difference just for the sake of completeness.
matplotlib, you wanted to see grouped up but couldn't find? I
seriously hope the book is not for "dummies",

as already said, this bug is intended to people that knows nothing
about mpl, so an introductory part will begin the book.
but provides at least a
significant amount of information on more advanced features of
Matplotlib.

and we will try to show as much features as possible, even the
advanced one.
I think the currently available tutorials are sufficient
to getting started. From my point of view I am very interested in:
    - Dynamically updating a series of graphs
    - Configuring layout of graphs (colors, labels, legends, etc.)
    - Managing dimensions of the figure when you export the figure to
e.g PNG. For me this is interesting in the sense that if I insert a
figure in a report/paper, I would like that the fonts used in the
graph remain proportional to the surrounding text.

Those will be surely in the book :)
If you need more information please let me know.

Well, whatever comes to mind, please let me know :)
I wish you good luck!

Cheers,
Sandro
 
S

Sandro Tosi

Hi James,
thanks for getting back to me.

The ability to embed a figure (composed of subplots) into a custom
window is my favorite aspect.

Do you mean embed the figure in an application or simply a figure with
several subplots in it?
Also: massive configurability of plots,
event driven plot canvas, antigrain geometry antialiasing are also all
very important. Additionally the toolbar of standard interactive
functions and the ability to export plots in a variety of formats are
also invaluable features.


The documentation for basic plot configuration, especially for embedded
plots, and also tapping into the event model is very weak currently.
These need the most improvement.

What do you mean by "event model"?
A big, huge, gigantic, chapter---no make that 3 chapters--on programming
  interactivity with the plot canvas.

Big chapters a harder to read. And what exactly do you mean by
"interactivity"?
Good luck! I can't wait to read your book!

Thanks!

Sandro
 
S

Sandro Tosi

Hello Thomas,
thanks for your reply.

I use the API to create PNGs from data stored in postgres. Webframework: Django.

Nice, I plan to make some examples of web embedding of mpl, and one of
the frameworks is Django.
The API is not good documented. It was very hard for me to understand
what was going on the source.


How to use the API.

Of course we will follow a gradual path, introducing simple apis and
then going deeper in the advanced features. So, if you mean API as
"pyplot.figure()" and so, they'll be covered :)

Thanks,
Sandro
 
S

Sandro Tosi

Hi Dotan,

I wish you good luck!

Thanks you :)
I would suggest at least a chapter on _acquiring_ the data that is to
be plotted using Python to scrape different sources _not_designed_ to
be scraped. Online webpages come to mind. An example on retrieving,
for instance, the prices of varying currencies, parsing the HTML
pages, extracting the data, and then plotting it would be a great
example for a real worlds usage that show matplotlib as a tool in a
toolchain, not a means to an end.

Well, a whole chapter to this is a little too much, but such examples
will be presented in the book: we're not going to teach how to program
in Python, but how to use matplotlib, so the data retriving is a
little out-of-scope (or at least border-line), so the code will be in
the examples provided along with the book, but not deeply explained in
the book text.

Thanks,
Sandro
 
S

Sandro Tosi

The problem with that approach is that you limit your audience to people who:
1) Are interested in matplotlab
-AND-
2) Are already familiar with Python

That is exactly the target the editor wants to reach...
For every AND clause you remove you broaden the book's audience. You
do not need to rewrite the book on Python programming or programming
in general, but getting a C or even PHP programmer up to speed on the
basics of Python as related to matplotlib will make the book much more
accessible. At a minimum, it will add another valuable chapter to the
book that can be safely ignored by Python gurus. And you are making
the book that much more accessible.

I will try to ask this, but they were really clear that knowing python
is a prerequisite of the book readers.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top