public void Draw(double mapScale) { LegendItems.Clear(); if (featureLayer.ZoomLevelSet.ZoomLevel01.CustomStyles.Count > 0) { Style style = featureLayer.ZoomLevelSet.ZoomLevel01.CustomStyles[0]; if (style is CustomDotDensityStyle) { LegendItems.Add(new DotDensityLegendItem(5)); LegendItems.Add(new DotDensityLegendItem(10)); LegendItems.Add(new DotDensityLegendItem(20)); LegendItems.Add(new DotDensityLegendItem(40)); } else if (style is PieZedGraphStyle) { PieZedGraphStyle zedGraphStyle = (PieZedGraphStyle)style; foreach (KeyValuePair <string, GeoColor> item in zedGraphStyle.PieSlices) { AreaStyle fillStyle = new AreaStyle(new GeoSolidBrush(item.Value)); PieChartLegendItem legendItem = new PieChartLegendItem(fillStyle, item.Key); this.LegendItems.Add(legendItem); } } else if (style is ValueCircleStyle) { LegendItems.Add(new ValueCircleLegendItem(80)); LegendItems.Add(new ValueCircleLegendItem(16)); LegendItems.Add(new ValueCircleLegendItem(32)); LegendItems.Add(new ValueCircleLegendItem(64)); LegendItems.Add(new ValueCircleLegendItem(1280)); } else if (style is ClassBreakStyle) { ClassBreakStyle thematicStyle = (ClassBreakStyle)style; for (int i = 0; i < thematicStyle.ClassBreaks.Count; i++) { ThematicLegendItem thematicLegendItem; if (i < thematicStyle.ClassBreaks.Count - 1) { thematicLegendItem = new ThematicLegendItem(thematicStyle.ClassBreaks[i], thematicStyle.ClassBreaks[i + 1]); } else { thematicLegendItem = new ThematicLegendItem(thematicStyle.ClassBreaks[i], null); } LegendItems.Add(thematicLegendItem); } } foreach (var legendItem in LegendItems) { legendItem.Draw(style); } } }
protected override Style GetStyleCore(FeatureSource featureSource) { PieZedGraphStyle zedGraphStyle = new PieZedGraphStyle(); zedGraphStyle.ZedGraphDrawing += new EventHandler <ZedGraphDrawingEventArgs>(zedGraphStyle_ZedGraphDrawing); pieColors = GeoColor.GetColorsInQualityFamily(GeoColor.FromArgb(Opacity, BaseColor), SelectedColumns.Count); for (int i = 0; i < SelectedColumns.Count; i++) { zedGraphStyle.RequiredColumnNames.Add(SelectedColumns[i]); zedGraphStyle.PieItems.Add(NameAliases[SelectedColumns[i]], pieColors[i]); } return(zedGraphStyle); }
protected override Style GetStyleCore(FeatureSource featureSource) { PieZedGraphStyle zedGraphStyle = new PieZedGraphStyle(); zedGraphStyle.ZedGraphDrawing += ZedGraphStyle_ZedGraphDrawing; pieColors = GeoColor.GetColorsInQualityFamily(GeoColor.FromArgb(Opacity, Color), SelectedColumns.Count); for (int i = 0; i < SelectedColumns.Count; i++) { zedGraphStyle.RequiredColumnNames.Add(SelectedColumns[i]); zedGraphStyle.PieSlices.Add(SelectedColumnAliases[i], pieColors[i]); } return(zedGraphStyle); }
protected override Collection<Style> GetStylesCore(FeatureSource featureSource) { // here we generated the PieZedGraphStyle. PieZedGraphStyle zedGraphStyle = new PieZedGraphStyle(); zedGraphStyle.ZedGraphDrawing += ZedGraphStyle_ZedGraphDrawing; pieColors = GeoColor.GetColorsInQualityFamily(GeoColor.FromArgb(Opacity, Color), SelectedColumns.Count); for (int i = 0; i < SelectedColumns.Count; i++) { zedGraphStyle.RequiredColumnNames.Add(SelectedColumns[i]); zedGraphStyle.PieSlices.Add(SelectedColumnAliases[i], pieColors[i]); } return new Collection<Style>(){zedGraphStyle}; }
private void AddPieGraphLegendItems(LegendAdornmentLayer legendAdornmentLayer) { PieZedGraphStyle zedGraphStyle = (PieZedGraphStyle)currentStyleBuilder.GetStyles(currentFeatureLayer.FeatureSource)[0]; foreach (KeyValuePair <string, GeoColor> item in zedGraphStyle.PieSlices) { LegendItem legendItem = new LegendItem(); legendItem.ImageWidth = 20; legendItem.TextRightPadding = 5; legendItem.RightPadding = 5; legendItem.ImageStyle = new AreaStyle(new GeoSolidBrush(item.Value)); legendItem.TextStyle = new TextStyle(item.Key, new GeoFont("Segoe UI", 10), new GeoSolidBrush(GeoColor.SimpleColors.Black)); legendAdornmentLayer.LegendItems.Add(legendItem); } }
protected override Collection <Style> GetStylesCore(FeatureSource featureSource) { PieZedGraphStyle zedGraphStyle = new PieZedGraphStyle(); zedGraphStyle.ZedGraphDrawing += ZedGraphStyle_ZedGraphDrawing; pieColors = GeoColor.GetColorsInQualityFamily(GeoColor.FromArgb(Opacity, Color), SelectedColumns.Count); int i = 0; foreach (string column in SelectedColumns) { zedGraphStyle.RequiredColumnNames.Add(column); zedGraphStyle.PieItems.Add(SelectedColumnAliases[i], pieColors[i]); i++; } return(new Collection <Style>() { zedGraphStyle }); }