code: function (vis, redraw) {
  		var series = this,
  			chart = series.chart,
  			legendItem = series.legendItem,
  			seriesGroup = series.group,
  			seriesTracker = series.tracker,
  			dataLabelsGroup = series.dataLabelsGroup,
  			showOrHide,
  			i,
  			data = series.data,
  			point,
  			ignoreHiddenSeries = chart.options.chart.ignoreHiddenSeries,
  			oldVisibility = series.visible;
  
  		// if called without an argument, toggle visibility
  		series.visible = vis = vis === UNDEFINED ? !oldVisibility : vis;
  		showOrHide = vis ? 'show' : 'hide';
  
  		// show or hide series
  		if (seriesGroup) { // pies don't have one
  			seriesGroup[showOrHide]();
  		}
  
  		// show or hide trackers
  		if (seriesTracker) {
  			seriesTracker[showOrHide]();
  		} else {
  			i = data.length;
  			while (i--) {
  				point = data[i];
  				if (point.tracker) {
  					point.tracker[showOrHide]();
  				}
  			}
  		}
  
  
  		if (dataLabelsGroup) {
  			dataLabelsGroup[showOrHide]();
  		}
  
  		if (legendItem) {
  			chart.legend.colorizeItem(series, vis);
  		}
  
  
  		// rescale or adapt to resized chart
  		series.isDirty = true;
  		// in a stack, all other series are affected
  		if (series.options.stacking) {
  			each(chart.series, function (otherSeries) {
  				if (otherSeries.options.stacking && otherSeries.visible) {
  					otherSeries.isDirty = true;
  				}
  			});
  		}
  
  		if (ignoreHiddenSeries) {
  			chart.isDirtyBox = true;
  		}
  		if (redraw !== false) {
  			chart.redraw();
  		}
  
  		fireEvent(series, showOrHide);
  	}
docs: Set the visibility of the graph
  
  @param vis {Boolean} True to show the series, false to hide. If UNDEFINED,
  the visibility is toggled.