Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
            }
        }
Пример #6
0
        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
            });
        }