protected override Image DoCreateChartImage()
 {
     var chart = new LineChart(Parameters.ChartWidth, Parameters.ChartHeight);
     chart.SetData(Parameters.SeriaData.Select(t => new float[]{t.Key, t.Value}).ToList());
     var webClient = new WebClient();
     byte[] imageBytes = webClient.DownloadData(chart.GetUrl());
     return new Bitmap(new MemoryStream(imageBytes));
 }
Example #2
0
        public static string stepSizeTest()
        {
            int[] line1 = new int[] { 5, 10, 50, 34, 10, 25 };
            LineChart lineChart = new LineChart(250, 150);
            lineChart.SetTitle("Step Size Test");
            lineChart.AddAxis(new ChartAxis(ChartAxisType.Left));
            lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom));
            lineChart.SetData(line1);

            lineChart.SetGrid(20, 50);

            return lineChart.GetUrl();
        }
Example #3
0
        public static string singleLineAreaFillTest()
        {
            float[] fdata = new float[] { 10, 30, 75, 40, 15 };
            LineChart chart = new LineChart(250, 150);
            chart.SetTitle("Area fill test");
            chart.SetData(fdata);

            chart.AddAxis(new ChartAxis(ChartAxisType.Left));
            chart.AddAxis(new ChartAxis(ChartAxisType.Bottom));

            chart.AddFillArea(new FillArea("224499", 0));

            return chart.GetUrl();
        }
Example #4
0
        public static string rangeMarkersTest()
        {
            float[] fdata = new float[] { 10, 30, 75, 40, 15 };
            LineChart chart = new LineChart(250, 150);
            chart.SetTitle("Range markers test");
            chart.SetData(fdata);

            chart.AddAxis(new ChartAxis(ChartAxisType.Left));
            chart.AddAxis(new ChartAxis(ChartAxisType.Bottom));

            chart.AddRangeMarker(new RangeMarker(RangeMarkerType.Horizontal, "EFEFEF", 0.2, 0.7));
            chart.AddRangeMarker(new RangeMarker(RangeMarkerType.Vertical, "CCCCCC", 0.4, 0.6));

            return chart.GetUrl();
        }
Example #5
0
        public static string shapeMarkersTest()
        {
            float[] fdata = new float[] { 10, 30, 75, 40, 15 };
            LineChart chart = new LineChart(300, 150);
            chart.SetTitle("Shape markers test");
            chart.SetData(fdata);

            chart.AddAxis(new ChartAxis(ChartAxisType.Left));
            chart.AddAxis(new ChartAxis(ChartAxisType.Bottom));

            chart.AddShapeMarker(new ShapeMarker(ShapeMarkerType.Arrow, "FF0000", 0, 0, 5));
            chart.AddShapeMarker(new ShapeMarker(ShapeMarkerType.Circle, "00FF00", 0, 1, 15));
            chart.AddShapeMarker(new ShapeMarker(ShapeMarkerType.Cross, "0000FF", 0, 2, 15));
            chart.AddShapeMarker(new ShapeMarker(ShapeMarkerType.VerticalLine, "FF0000", 0, 3, 2));

            return chart.GetUrl();
        }
        public static string singleDatasetPerLine()
        {
            int[] line1 = new int[] { 5, 10, 50, 34, 10, 25 };
            int[] line2 = new int[] { 15, 20, 60, 44, 20, 35 };

            List<int[]> dataset = new List<int[]>();
            dataset.Add(line1);
            dataset.Add(line2);

            LineChart lineChart = new LineChart(250, 150);
            lineChart.SetTitle("Single Dataset Per Line", "0000FF", 14);
            lineChart.SetData(dataset);
            lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom));
            lineChart.AddAxis(new ChartAxis(ChartAxisType.Left));

            return lineChart.GetUrl();
        }
Example #7
0
        public static string linearStripesTest()
        {
            float[] fdata = new float[] { 10, 30, 75, 40, 15 };
            LineChart chart = new LineChart(250, 150);
            chart.SetTitle("Linear Stripes Test");
            chart.SetData(fdata);

            chart.AddAxis(new ChartAxis(ChartAxisType.Left));
            chart.AddAxis(new ChartAxis(ChartAxisType.Bottom));

            LinearStripesFill linearStripesFill = new LinearStripesFill(ChartFillTarget.ChartArea, 0);
            linearStripesFill.AddColorWidthPair("CCCCCC", 0.2);
            linearStripesFill.AddColorWidthPair("FFFFFF", 0.2);
            chart.AddLinearStripesFill(linearStripesFill);

            chart.AddSolidFill(new SolidFill(ChartFillTarget.Background, "EFEFEF"));

            return chart.GetUrl();
        }
        public static string lineColorAndLegendTest()
        {
            int[] line1 = new int[] { 5, 10, 50, 34, 10, 25 };
            int[] line2 = new int[] { 15, 20, 60, 44, 20, 35 };

            List<int[]> dataset = new List<int[]>();
            dataset.Add(line1);
            dataset.Add(line2);

            LineChart lineChart = new LineChart(250, 150);
            lineChart.SetTitle("Line Color And Legend Test", "0000FF", 14);
            lineChart.SetData(dataset);
            lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom));
            lineChart.AddAxis(new ChartAxis(ChartAxisType.Left));

            lineChart.SetDatasetColors(new string[] { "FF0000", "00FF00" });
            lineChart.SetLegend(new string[] { "line1", "line2" });

            return lineChart.GetUrl();
        }
        public static string multiDatasetPerLine()
        {
            int[] line1x = new int[] { 0, 15, 30, 45, 60 };
            int[] line1y = new int[] { 10, 50, 15, 60, 12};
            int[] line2x = new int[] { 0, 15, 30, 45, 60 };
            int[] line2y = new int[] { 45, 12, 60, 34, 60 };

            List<int[]> dataset = new List<int[]>();
            dataset.Add(line1x);
            dataset.Add(line1y);
            dataset.Add(line2x);
            dataset.Add(line2y);

            LineChart lineChart = new LineChart(250, 150, LineChartType.MultiDataSet);
            lineChart.SetTitle("Multi Dataset Per Line", "0000FF", 14);
            lineChart.SetData(dataset);
            lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom));
            lineChart.AddAxis(new ChartAxis(ChartAxisType.Left));

            return lineChart.GetUrl();
        }
Example #10
0
        public static string linearGradientFillTest()
        {
            int[] line1 = new int[] { 5, 10, 50, 34, 10, 25 };
            LineChart lineChart = new LineChart(250, 150);
            lineChart.SetTitle("Linear Gradient fill test");
            lineChart.SetData(line1);

            lineChart.AddAxis(new ChartAxis(ChartAxisType.Left));
            lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom));

            LinearGradientFill fill = new LinearGradientFill(ChartFillTarget.ChartArea, 45);
            fill.AddColorOffsetPair("FFFFFF", 0);
            fill.AddColorOffsetPair("76A4FB", 0.75);

            SolidFill bgFill = new SolidFill(ChartFillTarget.Background, "EFEFEF");

            lineChart.AddLinearGradientFill(fill);
            lineChart.AddSolidFill(bgFill);

            return lineChart.GetUrl();
        }
Example #11
0
        public static string multiLineAreaFillsTest()
        {
            float[] line1 = new float[] { 15, 45, 5, 30, 10 };
            float[] line2 = new float[] { 35, 65, 25, 50, 30 };
            float[] line3 = new float[] { 55, 85, 45, 70, 50 };

            List<float[]> dataset = new List<float[]>();
            dataset.Add(line1);
            dataset.Add(line2);
            dataset.Add(line3);

            LineChart lineChart = new LineChart(250, 150, LineChartType.SingleDataSet);
            lineChart.SetTitle("Area fills test");
            lineChart.SetData(dataset);

            lineChart.AddAxis(new ChartAxis(ChartAxisType.Left));
            lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom));

            lineChart.AddFillArea(new FillArea("FF0000", 0, 1));
            lineChart.AddFillArea(new FillArea("224499", 1, 2));

            return lineChart.GetUrl();
        }
Example #12
0
        public static string solidFillTest()
        {
            int[] line1 = new int[] { 5, 10, 50, 34, 10, 25 };
            LineChart lineChart = new LineChart(250, 150);
            lineChart.SetTitle("Solid fill test");
            lineChart.SetData(line1);

            lineChart.AddAxis(new ChartAxis(ChartAxisType.Left));
            lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom));

            SolidFill bgFill = new SolidFill(ChartFillTarget.Background, "EFEFEF");
            SolidFill chartAreaFill = new SolidFill(ChartFillTarget.ChartArea, "000000");

            lineChart.AddSolidFill(bgFill);
            lineChart.AddSolidFill(chartAreaFill);

            return lineChart.GetUrl();
        }