Beispiel #1
0
        //生成文章来源饼图
        public string CreateSumPie(string key, DataTable dt)
        {
            ChartTitle title = new ChartTitle()
            {
                text = key, subtext = "平台对比"
            };
            ChartOption option = new PieChartOption(title, "");
            ChartLegend legend = new ChartLegend();

            legend.data = "新闻,微博,微信".Split(',');
            ChartData[] data_mod = new ChartData[legend.data.Length];
            for (int i = 0; i < legend.data.Length; i++)
            {
                data_mod[i] = new ChartData()
                {
                    name = legend.data[i], value = dt.Select("Source='" + legend.data[i] + "'").Length
                };
            }
            List <ChartSeries> seriesList = new List <ChartSeries>()
            {
                new ChartSeries()
                {
                    name = "平台对比", data_mod = data_mod
                }
            };

            ((PieChartOption)option).AddData(legend, seriesList, "");
            return(option.ToString());
        }
Beispiel #2
0
        public void PieChartBind(DataTable dt, string wherestr, string field = "Year")
        {
            PieChartOption pieoption = new PieChartOption(new ChartTitle()
            {
                text = "推广统计", subtext = "按月统计"
            }, "");
            List <string>      legeds   = new List <string>();
            List <ChartSeries> dataList = new List <ChartSeries>();

            DataRow[]        drs   = dt.Select(field + "=" + wherestr);
            List <ChartData> datas = new List <ChartData>();

            foreach (DataRow dr in drs)
            {
                legeds.Add(dr["Month"].ToString());
                datas.Add(new ChartData()
                {
                    name = dr["Month"].ToString(), value = DataConvert.CLng(dr["PCount"])
                });
            }
            dataList.Add(new ChartSeries()
            {
                name = "", data_mod = datas.ToArray()
            });

            pieoption.AddData(new ChartLegend()
            {
                data = legeds.ToArray()
            }, dataList, "");
            piecode.Value = pieoption.ToString();
        }
Beispiel #3
0
        //根据文章发布时间产生扩散速度图
        public string CreatePie(string key, DataTable dt)
        {
            ChartTitle title = new ChartTitle()
            {
                text = key, subtext = "扩散速度"
            };
            ChartOption option = new PieChartOption(title, "");
            ChartLegend legend = new ChartLegend();

            legend.data = "24小时内,72小时内,一周内,30天内,30天外".Split(',');
            ChartData[] data_mod = new ChartData[5];
            DateTime    time_24 = DateTime.Now.AddHours(-24), time_72 = DateTime.Now.AddHours(-72), time_d7 = DateTime.Now.AddDays(-7), time_d30 = DateTime.Now.AddMonths(-1);
            string      sql = "CDate>=#{0}# AND CDate<=#{1}#";

            data_mod[0] = (new ChartData()
            {
                name = legend.data[0], value = dt.Select("CDate>=#" + time_24 + "#").Length
            });
            data_mod[1] = (new ChartData()
            {
                name = legend.data[1], value = dt.Select(string.Format(sql, time_72, time_24)).Length
            });
            data_mod[2] = (new ChartData()
            {
                name = legend.data[2], value = dt.Select(string.Format(sql, time_d7, time_72)).Length
            });
            data_mod[3] = (new ChartData()
            {
                name = legend.data[3], value = dt.Select(string.Format(sql, time_d30, time_d7)).Length
            });
            data_mod[4] = (new ChartData()
            {
                name = legend.data[4], value = dt.Select("CDate<=#" + time_d30 + "#").Length
            });
            List <ChartSeries> seriesList = new List <ChartSeries>()
            {
                new ChartSeries()
                {
                    name     = "扩散速度",
                    data_mod = data_mod
                }
            };

            ((PieChartOption)option).AddData(legend, seriesList, "empy");
            return(option.ToString());
        }