deepgraph.deepgraph.DeepGraph.plot_map_generator¶
-
DeepGraph.
plot_map_generator
(lon, lat, by, edges=False, C=None, C_split_0=None, kwds_basemap=None, kwds_scatter=None, kwds_quiver=None, kwds_quiver_0=None, passable_ax=False)[source]¶ Plot nodes and corresponding edges by groups, on basemaps.
Create a generator of scatter plots of the nodes in
v
, split in groups byv
.groupby(by
), on ampl_toolkits.basemap.Basemap
instance. If edges is set True, also create a quiver plot of each group’s corresponding edges.The coordinates of the scatter plots are determined by the node’s longitudes and latitudes (in degrees):
v[lon]
andv[lat]
, wherelon
andlat
are column names ofv
(the arrow’s coordinates are determined automatically).In order to map colors to the arrows, either
C
orC_split_0
can be be passed, an array of the same length ase
. PassingC
creates a single quiver plot (qu). PassingC_split_0
creates two separate quiver plots, one for all edges whereC_split_0
== 0 (qu_0), and one for all other edges (qu). By default, the arrows of qu_0 have no head, indicating “undirected” edges. This can be useful, for instance, whenC_split_0
represents an array of temporal distances.When mapping colors to arrows by setting
C
(orC_split_0
), clim is automatically set to the min and max values of the entire array. In case one wants clim to be set to min and max values for each group’s colors, one may explicitly pass clim = None tokwds_quiver
.The same behaviour occurs when passing a sequence of
g.n
Numbers as colors c tokwds_scatter
. In that case, vmin and vmax are automatically set to c.min() and c.max() of all nodes. Explicitly setting vmin and vmax to None, the min and max values of the groups’ color arrays are used.In order to control the parameters of the basemap, scatter, quiver and/or quiver_0 plots, one may pass keyword arguments by setting
kwds_basemap
,kwds_scatter
,kwds_quiver
and/orkwds_quiver_0
.If
passable_ax
is True, create a generator of functions. Each function takes a matplotlib axes object (and/or a Basemap object) as input, and returns a scatter/quiver plot.Parameters: - lon (int or str) – A column name of
v
. The corresponding values must be longitudes in degrees. - lat (int or str) – A column name of
v
. The corresponding values must be latitudes in degrees. - by (array_like) – Column name(s) of
v
, determining the groups to create plots of. - edges (bool, optional (default=True)) – Whether to create a quiver plot (2-D field of arrows) of the edges between the nodes.
- C (array_like, optional (default=None)) – An optional array used to map colors to the arrows. Must have the
same length es
e
. Has no effect ifC_split_0
is passed as an argument. - C_split_0 (array_like, optional (default=None)) – An optional array used to map colors to the arrows. Must have the
same length es
e
. If this parameter is passed,C
has no effect, and two separate quiver plots are created (qu and qu_0). - kwds_basemap (dict, optional (default=None)) – kwargs passed to basemap.
- kwds_scatter (dict, optional (default=None)) – kwargs to be passed to scatter.
- kwds_quiver (dict, optional (default=None)) – kwargs to be passed to quiver (qu).
- kwds_quiver_0 (dict, optional (default=None)) – kwargs to be passed to quiver (qu_0). Only has an effect if
C_split_0
has been set. - passable_ax (bool, optional (default=False)) – If True, return a generator of functions. Each function takes a matplotlib axes object (and/or a Basemap object) as input, and returns a dict of matplotlib objects.
Returns: obj – If
C_split_0
has been passed, return a generator of dicts of matplotlib objects with the following keys: [‘fig’, ‘ax’, ‘m’, ‘pc’, ‘qu’, ‘qu_0’, ‘group’]. Otherwise, return a generator of dicts with keys: [‘fig’, ‘ax’, ‘m’, ‘pc’, ‘qu’, ‘group’]. Ifpassable_ax
is True, return a generator of functions. Each function takes a matplotlib axes object (and/or a Basemap object) as input, and returns a dict as described above.Return type: generator
Notes
When passing
C_split_0
, the color of the arrows in qu_0 can be set by passing the keyword argument color tokwds_quiver_0
. The color of the arrows in qu, however, are determined byC_split_0
.The default drawing order is set to: 1. quiver_0 (zorder=1) 2. quiver (zorder=2) 3. scatter (zorder=3) This order can be changed by setting the
zorder
inkwds_quiver_0
,kwds_quiver
and/orkwds_scatter
. See also http://matplotlib.org/examples/pylab_examples/zorder_demo.htmlSee also
append_binning_labels_v()
,plot_map()
,plot_2d()
,plot_2d_generator()
,plot_3d()
- lon (int or str) – A column name of