示例#1
0
 public override void ConfigureColors(MSCHART.Chart chart)
 {
     foreach (var series in chart.Series)
     {
         int i = 0;
         foreach (var point in series.Points)
         {
             int color_index = this.UseMultipleColors ? i : 0;
             if (this.ChartFormat.ColorStyle == ColorStyle.FlatColor)
             {
                 point.Color = this.ChartFormat.Palette.GetBaseColor(color_index);
             }
             else
             {
                 if (this.BarStyle == BarStyle.Horizontal)
                 {
                     point.Color = this.ChartFormat.Palette.GetDarkColor(color_index);
                     point.BackGradientStyle = MSCHART.GradientStyle.LeftRight;
                     point.BackSecondaryColor = this.ChartFormat.Palette.GetBaseColor(color_index);
                 }
                 else
                 {
                     point.Color = this.ChartFormat.Palette.GetBaseColor(color_index);
                     point.BackGradientStyle = MSCHART.GradientStyle.TopBottom;
                     point.BackSecondaryColor = this.ChartFormat.Palette.GetDarkColor(color_index);
                 }
             }
             i++;
         }
     }
 }
示例#2
0
 public override void ConfigureSeriesType(MSCHART.Chart chart)
 {
     foreach (var ser in chart.Series)
     {
         ser.ChartType = GetSeriesChartType();
     }
 }
示例#3
0
        public override void ConfigureColors(MSCHART.Chart chart)
        {
            int i = 0;
            foreach (var series in chart.Series)
            {
                var paletteItem = this.ChartFormat.Palette[i];
                if (this.ChartFormat.ShowAreaUnderLine)
                {
                    var tc = paletteItem.Color;
                    var bc = new Isotope.Colorspace.ColorRGB32Bit(0x20, paletteItem.SecondaryColor);

                    var top_color = System.Drawing.Color.FromArgb(tc.ToInt());
                    var bottom_color = System.Drawing.Color.FromArgb(bc.ToInt());

                    series.Color = top_color;
                    series.BackGradientStyle = MSCHART.GradientStyle.TopBottom;
                    series.BackSecondaryColor = bottom_color;
                }
                else
                {
                    series.Color = System.Drawing.Color.FromArgb(paletteItem.Color.ToInt());
                }
                i++;
            }
        }
示例#4
0
 public override void ConfigureSeriesType(MSCHART.Chart chart)
 {
     foreach (var ser in chart.Series)
     {
         ser.ChartType = MSCHART.SeriesChartType.StackedArea;
     }
 }
示例#5
0
        public override void ConfigureLegend(MSCHART.Chart chart)
        {
            var fmt = ChartFormat.DefaultFormatting;

            var legend = new MSCHART.Legend();
            chart.Legends.Add(legend);
            if (this.LegendPosition == LegendPosition.Hidden)
            {
                legend.Enabled = false;
            }
            else
            {
                legend.Docking = this.GetLegendDockingPosition(this.LegendPosition);
                legend.Enabled = true;
                legend.Font = fmt.DefaultFont.GetSDFont();
                legend.IsDockedInsideChartArea = true;
                legend.BorderWidth = 5;
                legend.BackColor = System.Drawing.Color.Transparent;

                var series0 = chart.Series[0];
                series0.Legend = legend.Name;
                series0.IsVisibleInLegend = true;
                foreach (var datapoint in series0.Points)
                {
                    datapoint.LegendText = datapoint.AxisLabel;
                    datapoint.ToolTip = datapoint.AxisLabel;
                }

                series0["PieLabelStyle"] = "Outside";
            }

        }
示例#6
0
        public override void ConfigureXYGrid(MSCHART.Chart chart)
        {
            // Set Axis Colors
            foreach (var axis in chart.ChartAreas[0].Axes)
            {
                axis.LineColor = this.ChartFormat.XYChartAxisLineColor;
                axis.MajorGrid.LineColor = this.ChartFormat.XYChartMajorGridLineColor;
                axis.IsMarginVisible = this.ShowAxisMargin;
                axis.MajorTickMark.Enabled = false;
                axis.MajorTickMark.LineColor = this.ChartFormat.XYChartMajorGridLineColor;
            }

            var xaxis = chart.ChartAreas[0].AxisX;
            var yaxis = chart.ChartAreas[0].AxisY;

            // Configure if lines show up for each major value on the X axis
            xaxis.MajorGrid.Enabled = this.ShowXAxisLines;

            // If needed turn the y axis line off by setting its width to zero
            if (!this.ChartFormat.YAxisLineVisible)
            {
                yaxis.LineWidth = 0;
            }

            // Configure Tick Marks on the X & Y Axis
            yaxis.MajorTickMark.Enabled = this.YAxisTickMarks;
            xaxis.MajorTickMark.Enabled = this.XAxisTickMarks;

            // Configure the Maximum Value used for the Y Axis
            if (this.MaximumValue.HasValue)
            {
                chart.ChartAreas[0].AxisY.Maximum = this.MaximumValue.Value;
            }
        }
示例#7
0
 public override void ConfigureColors(MSCHART.Chart chart)
 {
     int i = 0;
     foreach (var series in chart.Series)
     {
         if (this.ChartFormat.ColorStyle == ColorStyle.FlatColor)
         {
             series.Color = this.ChartFormat.Palette.GetBaseColor(i);
         }
         else
         {
             if (this.BarStyle == BarStyle.Horizontal)
             {
                 series.Color = this.ChartFormat.Palette.GetDarkColor(i);
                 series.BackGradientStyle = MSCHART.GradientStyle.LeftRight;
                 series.BackSecondaryColor = this.ChartFormat.Palette.GetBaseColor(i);
             }
             else
             {
                 series.Color = this.ChartFormat.Palette.GetBaseColor(i);
                 series.BackGradientStyle = MSCHART.GradientStyle.TopBottom;
                 series.BackSecondaryColor = this.ChartFormat.Palette.GetDarkColor(i);
             }
         }
         i++;
     }
 }
示例#8
0
 public override void ConfigureSeriesType(MSCHART.Chart chart)
 {
     foreach (var ser in chart.Series)
     {
         ser.ChartType = this.GetSeriesChartType();
         ser.BorderWidth = this.ChartFormat.LineChartLineWidth;
     }
 }
示例#9
0
 private void INTERNALFORMAT(MSCHART.Chart chart)
 {
     this.ConfigureRendering(chart);
     this.InitializeTitle(chart);
     this.SetDefaultFonts(chart);
     this.ConfigureAxisInterval(chart);
     this.ConfigureSeriesType(chart);
     this.ConfigureSeriesMarkers(chart);
     this.ConfigureColors(chart);
     this.ConfigureXYGrid(chart);
     this.ConfigureLegend(chart);
 }
示例#10
0
        protected void FormatMarkers(MSCHART.Chart chart)
        {
            int i = 0;
            foreach (var ser in chart.Series)
            {

                ser.MarkerStyle = this.ChartFormat.GetMSCHARTMarkerStyle();
                ser.MarkerSize = this.ChartFormat.LineMarkerSize;
                ser.MarkerBorderColor = System.Drawing.Color.FromArgb( this.ChartFormat.Palette[i].Color.ToInt());
                ser.MarkerBorderWidth = this.ChartFormat.LineChartLineWidth;
                ser.MarkerColor = this.ChartFormat.LineMarkerColor;
                i++;
            }
        }
示例#11
0
        public void SetDefaultFonts(MSCHART.Chart chart)
        {
            chart.Font.Name = ChartFormat.DefaultFont.Name;
            chart.Font.Size = new WEBCONTROLS.FontUnit(ChartFormat.DefaultFont.EmSize.ToString() + " pt");

            var fnt = new SD.Font(this.ChartFormat.DefaultFont.Name, ChartFormat.DefaultFont.EmSize);
            foreach (var chartarea in chart.ChartAreas)
            {
                var axes = new[] { chartarea.AxisX, chartarea.AxisY };
                foreach (var axis in axes)
                {
                    axis.LabelStyle.Font = fnt;
                }
            }
        }
示例#12
0
        protected virtual void InitializeTitle(MSCHART.Chart chart)
        {
            chart.Titles.Clear();
            if (this.Title != null)
            {
                string title_text = this.Title;
                var title = chart.Titles.Add(title_text);
                title.Font = new SD.Font(this.ChartFormat.ChartTitleFont.Name, ChartFormat.ChartTitleFont.EmSize);
                title.Alignment = SD.ContentAlignment.MiddleLeft;

                if (this.SubTitle != null)
                {
                    var subtitle = chart.Titles.Add(this.SubTitle);
                    subtitle.Font = new SD.Font(this.ChartFormat.ChartTitleFont.Name, ChartFormat.DefaultFont.EmSize);
                    subtitle.Alignment = SD.ContentAlignment.MiddleLeft;
                }
            }
        }
示例#13
0
        public override void ConfigureColors(MSCHART.Chart chart)
        {
            foreach (var series in chart.Series)
            {
                if (this.ChartFormat.ShowAreaUnderLine)
                {
                    var c = this.ChartFormat.Palette.GetBaseColor(0);
                    var top_color = System.Drawing.Color.FromArgb(0xff, c.R, c.G, c.B);
                    var bottom_color = System.Drawing.Color.FromArgb(0x20, c.R, c.G, c.B);

                    series.Color = top_color;
                    series.BackGradientStyle = MSCHART.GradientStyle.TopBottom;
                    series.BackSecondaryColor = bottom_color;
                }
                else
                {
                    series.Color = this.ChartFormat.Palette.GetBaseColor(0);
                }
            }
        }
示例#14
0
        public void ConfigureMultiSeriesLegend(MSCHART.Chart chart)
        {
            var fmt = ChartFormat.DefaultFormatting;


            if (this.LegendPosition == LegendPosition.Hidden)
            {
                
            }
            else
            {
                var legend = new MSCHART.Legend();
                chart.Legends.Add(legend);
                legend.Enabled = true;
                legend.Font = fmt.DefaultFont.GetSDFont();
                legend.IsDockedInsideChartArea = true;
                legend.BackColor = System.Drawing.Color.Transparent;
                legend.Docking = this.GetLegendDockingPosition(this.LegendPosition);                
            }
        }
示例#15
0
 public override void ConfigureColors(MSCHART.Chart chart)
 {
     var font = this.ChartFormat.DefaultFont.GetSDFont();
     foreach (var series in chart.Series)
     {
         series.Font = font;
         int i = 0;
         foreach (var point in series.Points)
         {
             if (this.ChartFormat.ColorStyle == ColorStyle.FlatColor)
             {
                 point.Color = SD.Color.FromArgb(this.ChartFormat.Palette[i].Color.ToInt());
             }
             else
             {
                 point.Color = SD.Color.FromArgb(this.ChartFormat.Palette[i].Color.ToInt());
                 point.BackGradientStyle = this.ChartFormat.RadialGradientStyle;
                 point.BackSecondaryColor = SD.Color.FromArgb(this.ChartFormat.Palette[i].SecondaryColor.ToInt());
             }
             i++;
         }
     }
 }
示例#16
0
 public virtual void ConfigureAxisInterval(MSCHART.Chart chart)
 {
     throw new System.NotImplementedException();
 }
示例#17
0
 public virtual void ConfigureSeriesMarkers(MSCHART.Chart chart)
 {
 }
示例#18
0
        public virtual void Customize(MSCHART.Chart chart, WebCharting.Data.DataSetMultiSeries chartdata)
        {

        }
示例#19
0
 public void FORMAT(MSCHART.Chart chart, WebCharting.Data.DataSetMultiSeries chartdata)
 {
     this.BindSeries(chart, chartdata);
     this.INTERNALFORMAT(chart);
     this.Customize(chart,chartdata);
 }
示例#20
0
        protected void AddNewSeries(MSCHART.Chart chart, WebCharting.Data.SeriesDataPoints datapoints, WebCharting.Data.AxisLabels labels)
        {
            var ser = new MSCHART.Series();
            ser.Points.DataBindXY(labels.ToArray(), datapoints.GetDoubleArray());
            if (datapoints.Name != null)
            {
                ser.LegendText = datapoints.Name;
            }
            for (int i = 0; i < datapoints.Count; i++)
            {
                var chart_datapoint = ser.Points[i];
                var v = datapoints[i];

                if (v.ToolTip != null && v.ToolTip.Text != null)
                {
                    chart_datapoint.ToolTip = v.ToolTip.Text;
                }

                if (v.Hyperlink != null)
                {
                    chart_datapoint.Url = v.Hyperlink;
                }
            }


            if (datapoints.Hyperlink != null)
            {
                ser.Url = datapoints.Hyperlink;
            }

            if (datapoints.ToolTip != null && datapoints.ToolTip.Text != null)
            {
                ser.ToolTip = datapoints.ToolTip.Text;
            }
            chart.Series.Add(ser);
        }
示例#21
0
 protected virtual void BindSeries(MSCHART.Chart chart, WebCharting.Data.DataSetSingleSeries chartdata)
 {
     chart.Series.Clear();
     var values = chartdata.Values;
     var labels = chartdata.XAxisLabels;
     AddNewSeries(chart, values, labels);
 }
示例#22
0
 protected virtual void BindSeries(MSCHART.Chart chart, WebCharting.Data.DataSetMultiSeries chartdata)
 {
     chart.Series.Clear();
     for (int i = 0; i < chartdata.SeriesCount; i++)
     {
         var labels = chartdata.XAxisLabels;
         var values = chartdata.GetSeries(i);
         this.AddNewSeries(chart, values, labels);
     }
 }
示例#23
0
 public override void ConfigureSeriesType(MSCHART.Chart chart)
 {
     chart.Series[0].ChartType = GetSeriesChartType();
 }
示例#24
0
 public override void ConfigureLegend(MSCHART.Chart chart)
 {
     //
 }
示例#25
0
 public virtual void ConfigureXYGrid(MSCHART.Chart chart)
 {
 }
示例#26
0
 public override void ConfigureAxisInterval(MSCHART.Chart chart)
 {
     chart.ChartAreas[0].AxisX.Interval = 1;
 }
示例#27
0
 public override void ConfigureSeriesMarkers(MSCHART.Chart chart)
 {
     this.FormatMarkers(chart);
 }
示例#28
0
 public virtual void ConfigureSeriesType(MSCHART.Chart chart)
 {
     throw new System.NotImplementedException();
 }
示例#29
0
 public override void ConfigureSeriesType(MSCHART.Chart chart)
 {
     chart.Series[0].ChartType = this.GetSeriesChartType();
     chart.Series[0].BorderWidth = this.ChartFormat.LineChartLineWidth;
 }
示例#30
0
 protected virtual void ConfigureRendering(MSCHART.Chart chart)
 {
     this.InitializeTitle(chart);
     chart.TextAntiAliasingQuality = MSCHART.TextAntiAliasingQuality.High;
     chart.IsSoftShadows = true;
     chart.AntiAliasing = MSCHART.AntiAliasingStyles.All;
     ConfigureTile(chart);
 }