## matplotlib-users

 [Matplotlib-users] a quick way to plot 3D surface with point coordination? From: ericyosho - 2010-04-01 02:40:22 ```Hi, All, I have a bunch of 3D points with coordinations in a dict pointset = { (x1,y1):z1, (x2,y2):z2, ... } It seems I have to 1. fire a loop to change each item and convert the whole dictionary into arrays; x = [] y = [] for i in pointset.items(): x.append(i[0][0]) y.append(i[0][1]) 2. send x and y ranges to meshgrid 3. loop again to put z values into proper positions 4. use plot_surface() Is there any quicker ways to do that? And we know that for points with coordination, scatter must be the simplest way to visualize them. Is there any trick to convert a scatter graph into a surface picture directly? Appreciation for any ideas. Zhe Yao -------------- Department of Computer and Electrical Engineering McGill University Montreal, QC, Canada H3A 2A7 zhe.yao@... ```
 Re: [Matplotlib-users] a quick way to plot 3D surface with point coordination? From: Alan G Isaac - 2010-04-01 03:41:07 ```On 3/31/2010 10:40 PM, ericyosho wrote: > send x and y ranges to meshgrid > Does this mean you have the entire grid of points? In any case, you can get an array of your points as np.array([(x,y,z) for (x,y),z in d.iteritems()]) fwiw, Alan Isaac ```
 Re: [Matplotlib-users] a quick way to plot 3D surface with point coordination? From: Friedrich Romstedt - 2010-04-01 20:51:48 ```2010/4/1 ericyosho : > And we know that for points with coordination, scatter must be the > simplest way to visualize them. > Is there any trick to convert a scatter graph into a surface picture directly? I'm afraid not, because one needs an algorithm to infer the connectivity :-( Friedrich ```
 Re: [Matplotlib-users] a quick way to plot 3D surface with point coordination? From: Friedrich Romstedt - 2010-04-03 20:49:40 ```I think it should be possible to do unsorted scatter plot, so you can avoid the second loop. Maybe the current source doesn't allow for, but it's certainly possible (hu, I'm not that aquainted with current z-sorting code, so maybe I'm wrong?) It may be that current z-sorting uses the mesh grid. One point caught my attention: Maybe use sets, or check in loop 1 if you do not duplicate x or y data? Do you mask the mesh points not used? Friedrich P.S.: And make shure to select "Answer to all" :-) 2010/4/2 ericyosho : > Thanks, Friendrich, > > So the only problem narrows down to whether I've got to loop through > the dict to form all the arrays, or there might be some way to define > a "formatter", so that when I apply this formatter on to the > dictionary, it splits the data into arrays properly. > > Zhe Yao > ```
 Re: [Matplotlib-users] a quick way to plot 3D surface with point coordination? From: ericyosho - 2010-04-04 01:01:16 ```Year, I think we could do unsorted scatter plot as well, however I'm still not satisfied with the book tracking routines I have to check when doing the surface plotting. Anyway, thanks, man. You saved a lot. Hope this time, it CC to the mailing list as well. :-) ```
 Re: [Matplotlib-users] a quick way to plot 3D surface with point coordination? From: Friedrich Romstedt - 2010-04-08 22:07:23 ```2010/4/4 ericyosho : > Year, I think we could do unsorted scatter plot as well, however I'm > still not satisfied with the book tracking routines I have to check > when doing the surface plotting. What do you mean with "book tracking routines"? Anyway, maybe griddata would help you: http://matplotlib.sourceforge.net/api/mlab_api.html#matplotlib.mlab.griddata Friedrich ```
 Re: [Matplotlib-users] a quick way to plot 3D surface with point coordination? From: ericyosho - 2010-04-09 00:06:04 ```Yes, Thanks, Friedrich. :-) This is exactly what I want. By now I know we have to plot over a uniformly sampled plane any way at the end of the day, no matter whether our original data is uniformly sampled or not. Zhe Yao On Thu, Apr 8, 2010 at 6:07 PM, Friedrich Romstedt wrote: > 2010/4/4 ericyosho : >> Year, I think we could do unsorted scatter plot as well, however I'm >> still not satisfied with the book tracking routines I have to check >> when doing the surface plotting. > > What do you mean with "book tracking routines"? > > Anyway, maybe griddata would help you: > http://matplotlib.sourceforge.net/api/mlab_api.html#matplotlib.mlab.griddata > > Friedrich > ```