def plot_wireframe(self, *args, **kwargs): ''' creates a three-dimensional wireframe plot :param x: (*array_like*) Optional. X coordinate array. :param y: (*array_like*) Optional. Y coordinate array. :param z: (*array_like*) 2-D z value array. :param cmap: (*string*) Color map string. :param xyaxis: (*boolean*) Draw x and y axis or not. :param zaxis: (*boolean*) Draw z axis or not. :param grid: (*boolean*) Draw grid or not. :param boxed: (*boolean*) Draw boxed or not. :param mesh: (*boolean*) Draw mesh line or not. :returns: Legend ''' if len(args) == 1: x = args[0].dimvalue(1) y = args[0].dimvalue(0) x, y = np.meshgrid(x, y) z = args[0] args = args[1:] else: x = args[0] y = args[1] z = args[2] args = args[3:] zcolors = kwargs.pop('zcolors', False) if not zcolors: line = plotutil.getlegendbreak('line', **kwargs)[0] graphics = GraphicFactory.createWireframe(x.asarray(), y.asarray(), z.asarray(), line) else: cmap = plotutil.getcolormap(**kwargs) if len(args) > 0: level_arg = args[0] if isinstance(level_arg, int): cn = level_arg ls = LegendManage.createLegendScheme( z.min(), z.max(), cn, cmap) else: if isinstance(level_arg, NDArray): level_arg = level_arg.aslist() ls = LegendManage.createLegendScheme( z.min(), z.max(), level_arg, cmap) else: ls = LegendManage.createLegendScheme(z.min(), z.max(), cmap) ls = ls.convertTo(ShapeTypes.Polyline) plotutil.setlegendscheme(ls, **kwargs) graphics = GraphicFactory.createWireframe(x.asarray(), y.asarray(), z.asarray(), ls) visible = kwargs.pop('visible', True) if visible: self.add_graphic(graphics) return graphics
def plot_wireframe(self, *args, **kwargs): ''' creates a three-dimensional wireframe plot :param x: (*array_like*) Optional. X coordinate array. :param y: (*array_like*) Optional. Y coordinate array. :param z: (*array_like*) 2-D z value array. :param cmap: (*string*) Color map string. :param xyaxis: (*boolean*) Draw x and y axis or not. :param zaxis: (*boolean*) Draw z axis or not. :param grid: (*boolean*) Draw grid or not. :param boxed: (*boolean*) Draw boxed or not. :param mesh: (*boolean*) Draw mesh line or not. :returns: Legend ''' if len(args) == 1: x = args[0].dimvalue(1) y = args[0].dimvalue(0) x, y = minum.meshgrid(x, y) z = args[0] args = args[1:] else: x = args[0] y = args[1] z = args[2] args = args[3:] line = plotutil.getlegendbreak('line', **kwargs)[0] graphics = GraphicFactory.createWireframe(x.asarray(), y.asarray(), z.asarray(), line) visible = kwargs.pop('visible', True) if visible: self.add_graphic(graphics) return graphics