Esempio n. 1
0
        public static DataSetMultiSeries DataTableToChartDataSet(System.Data.DataTable dt, int category_col,
                                                                 IList <int> val_cols, bool exclude_dbnull_values)
        {
            var dt_cat_col = dt.Columns[category_col];

            CheckCatCol(dt_cat_col);
            foreach (int val_col in val_cols)
            {
                var dt_val_col = dt.Columns[val_col];
                CheckValCol(dt_val_col);
            }


            var list_of_series = new List <SeriesDataPoints>();

            foreach (int val_col in val_cols)
            {
                list_of_series.Add(new SeriesDataPoints());
            }

            var cats = new HashSet <string>();


            foreach (System.Data.DataRow row in dt.Rows)
            {
                var items = row.ItemArray;

                string cat = (string)items[category_col];
                cats.Add(cat);

                for (int i = 0; i < val_cols.Count; i++)
                {
                    int val_col = val_cols[i];
                    var ser     = list_of_series[i];

                    var    dt_val_col = dt.Columns[val_col];
                    object o          = items[val_col];

                    // exclude dbnull values
                    var ot = o.GetType();
                    if (exclude_dbnull_values && ot == typeof(System.DBNull))
                    {
                        continue;
                    }


                    double val = GetVal(dt_val_col, o);
                    var    dp  = new DataPoint(val);
                    ser.Add(dp);
                }
            }

            var axislabels = new WebCharting.Data.AxisLabels(cats);
            var cd         = new DataSetMultiSeries(list_of_series, axislabels);


            return(cd);
        }
Esempio n. 2
0
        public static WebCharting.Data.DataSetSingleSeries WidgetsByMonth()
        {
            var values_raw = new double[] { 32, 25, 19, 31, 43, 36, 51, 38, 29, 59, 68, 29, 38, 40, 48 };
            var values     = DemoData.DoublesToDataPoints(values_raw);
            var months     = GetLastNMonths(values.Count).Select(i => i.ToString("M/y"));
            var labels     = new WebCharting.Data.AxisLabels(months);
            var chartdata  = new WebCharting.Data.DataSetSingleSeries(values, labels);

            return(chartdata);
        }
Esempio n. 3
0
        public static WebCharting.Data.DataSetSingleSeries GetSingleSeriesPalette()
        {
            var pal = PaletteBuilder.GetDefaultPalette();
            var items = pal.Select( i=> new WebCharting.Data.DataPoint(1.0));
            
            var values = new WebCharting.Data.SeriesDataPoints(items);
            var axislabels = new 
                WebCharting.Data.AxisLabels(
                    pal.Select(i => i.Color.ToWebColorString()));
 
            var chartdata = new WebCharting.Data.DataSetSingleSeries(values, axislabels);

            return chartdata;
        }
Esempio n. 4
0
        public static WebCharting.Data.DataSetSingleSeries GetSingleSeriesPalette()
        {
            var pal   = PaletteBuilder.GetDefaultPalette();
            var items = pal.Select(i => new WebCharting.Data.DataPoint(1.0));

            var values     = new WebCharting.Data.SeriesDataPoints(items);
            var axislabels = new
                             WebCharting.Data.AxisLabels(
                pal.Select(i => i.Color.ToWebColorString()));

            var chartdata = new WebCharting.Data.DataSetSingleSeries(values, axislabels);

            return(chartdata);
        }
Esempio n. 5
0
        public static WebCharting.Data.DataSetSingleSeries GetSingleSeries3()
        {
            var values_raw = new double[] { 32, 25, 19, 31, 43, 36 };
            var values     = DemoData.DoublesToDataPoints(values_raw);

            var today  = System.DateTime.Now;
            var start  = today.AddDays(-values.Count);
            var labels =
                new WebCharting.Data.AxisLabels(
                    Enumerable.Range(0, values.Count).Select(i => start.AddDays(i).ToString("M/d")));

            var chartdata = new WebCharting.Data.DataSetSingleSeries(values, labels);

            return(chartdata);
        }
Esempio n. 6
0
        public static WebCharting.Data.DataSetSingleSeries GetSingleSeries2()
        {
            var types = typeof(System.String).Assembly.GetExportedTypes()
                        .Where(t => t.IsClass)
                        .Where(t => t.IsPublic);

            var data =
                types.Select(
                    t =>
                    new
            {
                typename     = t.Name,
                typefullname = t.FullName,
                nummethods   = t.GetMethods().Length,
                numprops     = t.GetProperties().Length
            });

            int topn       = 5;
            var final_data = (from p in data
                              orderby p.nummethods descending
                              select p).Take(topn).ToList();

            var datapoints = new WebCharting.Data.SeriesDataPoints();
            var labels     = new WebCharting.Data.AxisLabels();

            for (int i = 0; i < final_data.Count; i++)
            {
                var    datum    = final_data[i];
                string dp_hlink = string.Format("http://msdn.microsoft.com/en-us/library/{0}.aspx", datum.typefullname);

                var dp_label = datum.nummethods.ToString();
                var dp_value = datum.nummethods;
                var dp       = new WebCharting.Data.DataPoint(dp_value, dp_hlink, dp_label);
                dp.Label = datum.nummethods.ToString();

                datapoints.Add(dp);
                labels.Add(datum.typename);
            }

            var chartdata = new WebCharting.Data.DataSetSingleSeries(datapoints, labels);

            return(chartdata);
        }
Esempio n. 7
0
        protected void AddNewSeriesHorizLine(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];
            }
            chart.Series.Add(ser);
        }
Esempio n. 8
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);
        }
Esempio n. 9
0
        public static DataSetMultiSeries DataTableToChartDataSet(System.Data.DataTable dt, int category_col,
                                                          IList<int> val_cols, bool exclude_dbnull_values)
        {
            var dt_cat_col = dt.Columns[category_col];

            CheckCatCol(dt_cat_col);
            foreach (int val_col in val_cols)
            {
                var dt_val_col = dt.Columns[val_col];
                CheckValCol(dt_val_col);                
            }


            var list_of_series = new List<SeriesDataPoints>();
            foreach (int val_col in val_cols)
            {
                list_of_series.Add( new SeriesDataPoints());
            }

            var cats = new HashSet<string>();


            foreach (System.Data.DataRow row in dt.Rows)
            {

                var items = row.ItemArray;

                string cat = (string)items[category_col];
                cats.Add(cat);

                for (int i = 0; i < val_cols.Count;i++ )
                {
                    int val_col = val_cols[i];
                    var ser = list_of_series[i];

                    var dt_val_col = dt.Columns[val_col];
                    object o = items[val_col];

                    // exclude dbnull values
                    var ot = o.GetType();
                    if (exclude_dbnull_values && ot == typeof(System.DBNull))
                    {
                        continue;
                    }


                    double val = GetVal(dt_val_col, o);
                    var dp = new DataPoint(val);
                    ser.Add(dp);
                }
            }

            var axislabels = new WebCharting.Data.AxisLabels(cats);
            var cd = new DataSetMultiSeries( list_of_series, axislabels);


            return cd;
        }
Esempio n. 10
0
        public static DataSetMultiSeries DataTableToChartDataSet(System.Data.DataTable dt, int category_col, int val_col,
                                                                 int series_col, bool exclude_dbnull_values)
        {
            var dt_cat_col = dt.Columns[category_col];
            var dt_val_col = dt.Columns[val_col];
            var dt_ser_col = dt.Columns[series_col];

            CheckCatCol(dt_cat_col);
            CheckValCol(dt_val_col);
            CheckSerCol(dt_ser_col);


            var ser_to_values = new Dictionary<string, Dictionary<string,double>>();

            var cats = new HashSet<string>();

            foreach (System.Data.DataRow row in dt.Rows)
            {
                var items = row.ItemArray;
                string cat = (string)items[category_col];

                object o = items[val_col];

                // exclude dbnull values
                var ot = o.GetType();
                if (exclude_dbnull_values && ot == typeof(System.DBNull))
                {
                    continue;
                }

                cats.Add(cat);
            }


            foreach (System.Data.DataRow row in dt.Rows)
            {
                var items = row.ItemArray;
                string cat = (string) items[category_col];
                string ser = (string) items[series_col];
                object o = items[val_col];

                // exclude dbnull values
                var ot = o.GetType();
                if (exclude_dbnull_values && ot == typeof(System.DBNull))
                {
                    continue;
                }

                double val = GetVal(dt_val_col, o);

                if (!ser_to_values.ContainsKey(ser))
                {
                    ser_to_values[ser] = new Dictionary<string, double>(cats.Count);
                }

                var ser_list = ser_to_values[ser];

                ser_list[cat]=val;
            }



            var list_of_series = new List<SeriesDataPoints>();
            foreach (var ser_list in ser_to_values.Values)
            {
                var sdp = new SeriesDataPoints();
                foreach (string cat in cats)
                {
                    // Try to find a value for each category
                    if (ser_list.ContainsKey(cat))
                    {
                        double v = ser_list[cat];
                        var dp = new DataPoint(v);
                        sdp.Add(dp);
                    }
                    else
                    {
                        double v = 0.0;
                        var dp = new DataPoint(v);
                        sdp.Add(dp);
                    }
                }
            }
            var axislabels = new WebCharting.Data.AxisLabels(cats);
            var cd = new DataSetMultiSeries(list_of_series, axislabels);
            return cd;
        }
Esempio n. 11
0
        public static WebCharting.Data.DataSetSingleSeries WidgetsByMonth()
        {
            var values_raw = new double[] { 32, 25, 19, 31, 43, 36, 51, 38, 29, 59, 68, 29, 38, 40, 48 };
            var values = DemoData.DoublesToDataPoints(values_raw);
            var months = GetLastNMonths(values.Count).Select(i => i.ToString("M/y"));
            var labels = new WebCharting.Data.AxisLabels(months);
            var chartdata = new WebCharting.Data.DataSetSingleSeries(values, labels);

            return chartdata;
        }
Esempio n. 12
0
        public static WebCharting.Data.DataSetMultiSeries GetMultiSeries1()
        {
            var datapoints0 = new WebCharting.Data.SeriesDataPoints(new double[]
                                                                      {
                                                                          32,
                                                                          25,
                                                                          19,
                                                                          31,
                                                                          43,
                                                                          36,
                                                                          51,
                                                                          38,
                                                                          29,
                                                                          31,
                                                                          57,
                                                                          29,
                                                                          38,
                                                                          40,
                                                                          48
                                                                      });

            datapoints0.Hyperlink = "http://google.com";
            datapoints0.ToolTip = new ToolTip("Google");
            datapoints0.Name = "Google";

            var datapoints1 = new WebCharting.Data.SeriesDataPoints(new double[]
                                                                      {
                                                                          56,
                                                                          45,
                                                                          70,
                                                                          75,
                                                                          65,
                                                                          59,
                                                                          55,
                                                                          51,
                                                                          40,
                                                                          34,
                                                                          45,
                                                                          39,
                                                                          33,
                                                                          31,
                                                                          19
                                                                      });
            datapoints1.Hyperlink = "http://yahoo.com";
            datapoints1.ToolTip = new ToolTip("Yahoo");
            datapoints1.Name = "Yahoo";

            var values = new List<WebCharting.Data.SeriesDataPoints> { datapoints0, datapoints1 };


            var today = System.DateTime.Now;
            var start = today.AddDays(-datapoints0.Count);
            var labels =
                new WebCharting.Data.AxisLabels(
                    Enumerable.Range(0, datapoints0.Count).Select(i => start.AddDays(i).ToString("M/d")));

            var chartdata = new WebCharting.Data.DataSetMultiSeries(values, labels);

            return chartdata;
        }
Esempio n. 13
0
        public static WebCharting.Data.DataSetSingleSeries GetSingleSeries2()
        {
            var types = typeof (System.String).Assembly.GetExportedTypes()
                .Where(t => t.IsClass)
                .Where(t => t.IsPublic);

            var data =
                types.Select(
                    t =>
                    new
                        {
                            typename = t.Name,
                            typefullname = t.FullName,
                            nummethods = t.GetMethods().Length,
                            numprops = t.GetProperties().Length
                        });

            int topn = 5;
            var final_data = (from p in data
                              orderby p.nummethods descending
                              select p).Take(topn).ToList();

            var datapoints = new WebCharting.Data.SeriesDataPoints();
            var labels = new WebCharting.Data.AxisLabels();
            for (int i = 0; i < final_data.Count; i++)
            {
                var datum = final_data[i];
                string dp_hlink = string.Format("http://msdn.microsoft.com/en-us/library/{0}.aspx", datum.typefullname);

                var dp_label = datum.nummethods.ToString();
                var dp_value = datum.nummethods;
                var dp = new WebCharting.Data.DataPoint(dp_value, dp_hlink, dp_label);
                dp.Label = datum.nummethods.ToString();

                datapoints.Add(dp);
                labels.Add(datum.typename);
            }

            var chartdata = new WebCharting.Data.DataSetSingleSeries(datapoints, labels);

            return chartdata;
        }
Esempio n. 14
0
        public static WebCharting.Data.DataSetSingleSeries GetSingleSeries3()
        {
            var values_raw = new double[] { 32, 25, 19, 31, 43, 36};
            var values = DemoData.DoublesToDataPoints(values_raw);

            var today = System.DateTime.Now;
            var start = today.AddDays(-values.Count);
            var labels =
                new WebCharting.Data.AxisLabels(
                    Enumerable.Range(0, values.Count).Select(i => start.AddDays(i).ToString("M/d")));

            var chartdata = new WebCharting.Data.DataSetSingleSeries(values, labels);

            return chartdata;
        }
Esempio n. 15
0
        public static DataSetMultiSeries DataTableToChartDataSet(System.Data.DataTable dt, int category_col, int val_col,
                                                                 int series_col, bool exclude_dbnull_values)
        {
            var dt_cat_col = dt.Columns[category_col];
            var dt_val_col = dt.Columns[val_col];
            var dt_ser_col = dt.Columns[series_col];

            CheckCatCol(dt_cat_col);
            CheckValCol(dt_val_col);
            CheckSerCol(dt_ser_col);


            var ser_to_values = new Dictionary <string, Dictionary <string, double> >();

            var cats = new HashSet <string>();

            foreach (System.Data.DataRow row in dt.Rows)
            {
                var    items = row.ItemArray;
                string cat   = (string)items[category_col];

                object o = items[val_col];

                // exclude dbnull values
                var ot = o.GetType();
                if (exclude_dbnull_values && ot == typeof(System.DBNull))
                {
                    continue;
                }

                cats.Add(cat);
            }


            foreach (System.Data.DataRow row in dt.Rows)
            {
                var    items = row.ItemArray;
                string cat   = (string)items[category_col];
                string ser   = (string)items[series_col];
                object o     = items[val_col];

                // exclude dbnull values
                var ot = o.GetType();
                if (exclude_dbnull_values && ot == typeof(System.DBNull))
                {
                    continue;
                }

                double val = GetVal(dt_val_col, o);

                if (!ser_to_values.ContainsKey(ser))
                {
                    ser_to_values[ser] = new Dictionary <string, double>(cats.Count);
                }

                var ser_list = ser_to_values[ser];

                ser_list[cat] = val;
            }



            var list_of_series = new List <SeriesDataPoints>();

            foreach (var ser_list in ser_to_values.Values)
            {
                var sdp = new SeriesDataPoints();
                foreach (string cat in cats)
                {
                    // Try to find a value for each category
                    if (ser_list.ContainsKey(cat))
                    {
                        double v  = ser_list[cat];
                        var    dp = new DataPoint(v);
                        sdp.Add(dp);
                    }
                    else
                    {
                        double v  = 0.0;
                        var    dp = new DataPoint(v);
                        sdp.Add(dp);
                    }
                }
            }
            var axislabels = new WebCharting.Data.AxisLabels(cats);
            var cd         = new DataSetMultiSeries(list_of_series, axislabels);

            return(cd);
        }
Esempio n. 16
0
        public static WebCharting.Data.DataSetMultiSeries GetMultiSeries1()
        {
            var datapoints0 = new WebCharting.Data.SeriesDataPoints(new double[]
            {
                32,
                25,
                19,
                31,
                43,
                36,
                51,
                38,
                29,
                31,
                57,
                29,
                38,
                40,
                48
            });

            datapoints0.Hyperlink = "http://google.com";
            datapoints0.ToolTip   = new ToolTip("Google");
            datapoints0.Name      = "Google";

            var datapoints1 = new WebCharting.Data.SeriesDataPoints(new double[]
            {
                56,
                45,
                70,
                75,
                65,
                59,
                55,
                51,
                40,
                34,
                45,
                39,
                33,
                31,
                19
            });

            datapoints1.Hyperlink = "http://yahoo.com";
            datapoints1.ToolTip   = new ToolTip("Yahoo");
            datapoints1.Name      = "Yahoo";

            var values = new List <WebCharting.Data.SeriesDataPoints> {
                datapoints0, datapoints1
            };


            var today  = System.DateTime.Now;
            var start  = today.AddDays(-datapoints0.Count);
            var labels =
                new WebCharting.Data.AxisLabels(
                    Enumerable.Range(0, datapoints0.Count).Select(i => start.AddDays(i).ToString("M/d")));

            var chartdata = new WebCharting.Data.DataSetMultiSeries(values, labels);

            return(chartdata);
        }