We assess matplotlib questions in two of our courses, but we have a very complex question type
that is almost certainly too daunting for a relative newcomer (though you're welcome to try your luck with it if you're feeling brave).
Our question type displays in the results table the plots the students draw side-by-side with our expected plots. But the displayed images are just for show - the actual grading is done by comparing a textual description of selected properties of the displayed image with the expected description.
The question contains as one of its support files a module __plottools.py (attached) that defines a function print_plot_info() to output selected properties of the most-recently drawn graph. We insert a call to this function after each test (using the Extra field in the author form). The simplest calls are just
thought there are lots of other parameters. The function generates output such as (for a bar chart):
Plot title: 'Temperatures during the week'
X-axis label: 'Day of week'
Y-axis label: 'Temperature'
(x, y) grid lines enabled: (False, False)
X-axis ticks at 0, 1, 2, 3, 4
X-axis tick labels:
Monday, Tuesday, Wednesday, Thursday, Friday
Bar0: x = 0, height = 15.0
Bar1: x = 1, height = 18.0
Bar2: x = 2, height = 19.0
Bar3: x = 3, height = 21.0
Bar4: x = 4, height = 16.0
However, even this function is probably a bit daunting, and it needs scipy installed on the Jobe server (as well as numpy and matplotlib, of course) in order to interpolate y values at selected x values when displaying line plots. But perhaps it gives you some ideas to work with?