|
From: Paul H. <pmh...@gm...> - 2014-01-07 20:54:58
|
Adam, Not sure if this is the try you're trying to bark up, but I've used a total hack to do what I think you're describing: 1) store lists of coordinate pairs in a pandas DataFrame 2) use df.apply() to turn each list of coords in to a patch and add to an axes object I'm sure you know this, but for posterity's sake, I'll mention that you *really* should only store primitives in pandas DataFrames. For that reason alone, I would describe the method above as the death-throes of a failing project trying to meet deadlines. Perhaps a more robust way would be to store the coordinates in a "long" format, i.e., shapeid, vertexid, x, y 1,1,0,0 1,2,1,1 1,3,2,2 2,1,10,10 2,2,11,11 3,3,12,12 ... And the group that DataFrame by `shapeid` and use `apply` on the pandas GroupBy object to construct a patch and add it to an axes object. Just a thought. On Tue, Jan 7, 2014 at 12:29 PM, Adam Hughes <hug...@gm...> wrote: > Sorry, quick followup. I did find the gallery example to plot multiple > patches together: > > http://matplotlib.org/examples/api/patch_collection.html > > That's excellent. Now I guess my question is how best to generalize the > process of turning my objects into patches. I think I will just try to > keep the geometry (ie line --> mpatch.Line) unless anyone has any better > suggestions. > > Thanks! > > > On Tue, Jan 7, 2014 at 3:08 PM, Adam Hughes <hug...@gm...>wrote: > >> Hi, >> >> I am working on a library for image analysis which stores particles as >> indexed numpy arrays and provides functionality for managing the particles >> beyond merely image masking or altering the arrays directly. I've already >> designed classes for many common shapes including Lines/Curves, >> Circles/Ellipses, Polygons, Multi-shapes (eg 4 circles with variable >> overlap). >> >> What I'd really LOVE to do would be able to generate a >> matplotlib.Collection instance from these objects as generally as possible. >> Then, I'd be able to show data as a masked image, but also get a really >> nice looking plot from the objects in their Collection representation. >> >> So my question really is in the implementation. First, is there a >> general collection object that could work with ANY shape, or am I better >> off matching my shape to that collection? For example: >> >> line --> LineCollection *vs.* line --> GeneralCollection >> circle --> CircleCollection circle ---> GeneralCollection >> >> And then, is the Collections plotting API flexible enough to mix all of >> these types together? Or would I have to settle for only being able to >> plot a collection of any 1 shape type at at time? >> >> I will delve into the API further, but ascertaining this information >> would really help me get started. >> >> Thanks >> > > > > ------------------------------------------------------------------------------ > Rapidly troubleshoot problems before they affect your business. Most IT > organizations don't have a clear picture of how application performance > affects their revenue. With AppDynamics, you get 100% visibility into your > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics > Pro! > http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |