Hello -- I'm having a dickens of a time getting this to

> work...

I totally understand. A more extensive users guide is sorely needed.

There is just so much to do on the development front that I haven't

made time for it.

> I believe I understand what you mean about maintaining

> a list of FigureCanvasAggs and using string & bitmap

> methods to get the figures into my wxDialog.

> Where I'm stuck is in plotting a histogram to a

> FigureCanvasAgg... I've checked out your examples, but

> there doesn't appear to be anything that directly uses

> FigureCanvasAgg. I've tried many different ways (mostly

> based on the embedded_in_wx.py and histogram_demo.py

> examples).

> Based on the example "histogram_demo.py" could you

> please give some pointers as to how to plot the

> histogram to a FigureCanvasAgg? I think I can handle

> things after that...

The example is included below. I'll add it to the examples dir for

people who want to work directly with the Agg canvas and renderer.

Let me know if you need some more help. Note that after you get the

RGB string from Agg, you may want to destroy the figure and canvas if

the figure is static to conserve memory.

As repayment, if you have a nice screenshot showing your application

in action, with the list box and figures etc, that I can include on

the screenshots page, send it my way.

from matplotlib.backends.backend_agg import FigureCanvasAgg

from matplotlib.figure import Figure

from matplotlib.axes import Subplot

from matplotlib.mlab import normpdf

from matplotlib.numerix import randn

fig = Figure(figsize=(5,4), dpi=100)

ax = Subplot(fig, 111)

canvas = FigureCanvasAgg(fig)

mu, sigma = 100, 15

x = mu + sigma*randn(10000)

# the histogram of the data

n, bins, patches = ax.hist(x, 50, normed=1)

# add a 'best fit' line

y = normpdf( bins, mu, sigma)

line, = ax.plot(bins, y, 'r--')

line.set_linewidth(1)

ax.set_xlabel('Smarts')

ax.set_ylabel('Probability')

ax.set_title(r'$\rm{Histogram of IQ: }\mu=100, \sigma=15$')

ax.set_xlim( (40, 160))

ax.set_ylim( (0, 0.03))

canvas.draw()

s = canvas.tostring_rgb() # save this and convert to bitmap as needed