百分跪求ASP.net 能画饼图的控件或代码!!!!!在线等。。。

qqq521647 2013-03-11 01:00:43
如题,我想在web程序中画一个折线统计图或饼图。。。。跪求大神出手,源码,第三方控件什么的都行,求实现!!!本人新手一个。。。在线等!!!!
...全文
176 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mirror然 2013-03-18
  • 打赏
  • 举报
回复
six-years 2013-03-18
  • 打赏
  • 举报
回复
MS Chart 就可以了 网上资料不少
梨花树下思考 2013-03-18
  • 打赏
  • 举报
回复
fusionchart
quakeplayer 2013-03-18
  • 打赏
  • 举报
回复
引用 1 楼 gxingmin 的回复:
在ASP.NET页面中实现数据饼图
这个不错 解释的很清楚
lanqi_126 2013-03-14
  • 打赏
  • 举报
回复
网上看到的,页面只要一个PictureBox控件 private void CreateImage(PictureBox Picturebox) { float Total = 0.0f, Tmp; //转换成单精度。也可写成Convert.ToInt32 Total = Convert.ToSingle(94.0); //设置字体,fonttitle为主标题的字体 Font fontlegend = new Font("verdana", 9); Font fonttitle = new Font("verdana", 10, FontStyle.Bold); //背景宽 int width = 350; int bufferspace = 15; int legendheight = fontlegend.Height * 10 + bufferspace; //高度 int titleheight = fonttitle.Height + bufferspace; int height = width + legendheight + titleheight + bufferspace;//白色背景高 int pieheight = width; Rectangle pierect = new Rectangle(0, titleheight, width, pieheight); //加上各种随机色 System.Collections.ArrayList colors = new System.Collections.ArrayList(); Random rnd = new Random(); for (int i = 0; i < 2; i++) colors.Add(new SolidBrush(Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255)))); //创建一个bitmap实例 Bitmap objbitmap = new Bitmap(width, height); Graphics objgraphics = Graphics.FromImage(objbitmap); //画一个白色背景 objgraphics.FillRectangle(new SolidBrush(Color.White), 0, 0, width, height); //画一个亮黄色背景 objgraphics.FillRectangle(new SolidBrush(Color.Beige), pierect); //以下为画饼图(有几行row画几个) float currentdegree = 0.0f; //画通过人数 objgraphics.FillPie((SolidBrush)colors[1], pierect, currentdegree,Convert.ToSingle( 82.0) / Total * 360); currentdegree += Convert.ToSingle(82.0) / Total * 360; //未通过人数饼状图 objgraphics.FillPie((SolidBrush)colors[0], pierect, currentdegree,((Convert.ToSingle(94.0)) - (Convert.ToSingle(82.0))) / Total * 360); currentdegree += ((Convert.ToSingle(94.0)) - (Convert.ToSingle(82.0))) / Total * 360; //以下为生成主标题 SolidBrush blackbrush = new SolidBrush(Color.Black); SolidBrush bluebrush = new SolidBrush(Color.Blue); string title = " 机关单位成绩统计饼状图: " + "\n \n\n"; StringFormat stringFormat = new StringFormat(); stringFormat.Alignment = StringAlignment.Center; stringFormat.LineAlignment = StringAlignment.Center; objgraphics.DrawString(title, fonttitle, blackbrush, new Rectangle(0, 0, width, titleheight), stringFormat); //列出各字段与得数目 objgraphics.DrawRectangle(new Pen(Color.Red, 2), 0, height + 10 - legendheight, width, legendheight + 50); objgraphics.DrawString("----------------统计信息------------------",fontlegend, bluebrush, 20, height - legendheight + fontlegend.Height * 1 + 1); objgraphics.DrawString("统计单位: 测试" ,fontlegend, blackbrush, 20, height - legendheight + fontlegend.Height * 3 + 1); objgraphics.DrawString("统计年份: 2012年",fontlegend, blackbrush, 20, height - legendheight + fontlegend.Height * 4 + 1); objgraphics.DrawString("统计期数: 第一期",fontlegend, blackbrush, 20, height - legendheight + fontlegend.Height * 5 + 1); objgraphics.FillRectangle((SolidBrush)colors[1], 5, height - legendheight + fontlegend.Height * 8 + 1, 10, 10); objgraphics.DrawString("报名总人数: " + Convert.ToString(Convert.ToSingle(94.0)), fontlegend, blackbrush, 20, height - legendheight + fontlegend.Height * 7 + 1); objgraphics.FillRectangle((SolidBrush)colors[0], 5, height - legendheight + fontlegend.Height * 9 + 1, 10, 10); objgraphics.DrawString("通过总人数: " + Convert.ToString(Convert.ToSingle(82.0)), fontlegend, blackbrush, 20, height - legendheight + fontlegend.Height * 8 + 1); objgraphics.DrawString("未通过人数: " + ((Convert.ToSingle(94.0)) - (Convert.ToSingle(82.0))), fontlegend, blackbrush, 20, height - legendheight + fontlegend.Height * 9 + 1); objgraphics.DrawString("通过率: " + Convert.ToString((Convert.ToSingle(82.0) / Convert.ToSingle(94.0)) * 100) + " %", fontlegend, blackbrush, 20, height - legendheight + fontlegend.Height * 10 + 1); //Response.ContentType = "image/Jpeg"; //objbitmap.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); pictureBox1.Width = objbitmap.Width; pictureBox1.Height = objbitmap.Height; objgraphics.Dispose(); //objbitmap.Dispose(); pictureBox1.Width = objbitmap.Width; pictureBox1.BackgroundImage = objbitmap; }
  • 打赏
  • 举报
回复
MSCHART控件
 private void draw01()//houdu1
        {
            string connStr = ConfigurationManager.ConnectionStrings["connStr"].ToString();
            using (OleDbConnection conn = new OleDbConnection(connStr))
            {

                conn.Open();
                DataSet ds = new DataSet();
                OleDbDataAdapter da = new OleDbDataAdapter();
                string com = "select top 8 [ID],[DateAndTime],[HouDu1] from [No1Gear] order by [ID] desc ";

                TextBox4.Attributes.Add("onkeypress", "this.value = this.value.replace(/[^0-9]/g,'')");
                string com2 = "select top " + TextBox4.Text.ToString() + " [ID],[DateAndTime],[HouDu1] from [No1Gear] order by [ID] desc";
                int num;
                if (TextBox4.Text.ToString() == "" || TextBox4.Text.ToString() == "0")
                {
                    da.SelectCommand = new OleDbCommand(com, conn);
                    num = 0;
                }
                else
                {
                    da.SelectCommand = new OleDbCommand(com2, conn);
                    num = Convert.ToInt32(TextBox4.Text.ToString());
                }

                da.Fill(ds);
                Chart1.DataSource = ds;
                Chart1.Titles.Clear();
                Chart1.Series.Clear();
                Chart1.ChartAreas.Clear();
                Chart1.Legends.Clear();
                string s1 = "1#测点";
                Chart1.ChartAreas.Add("1#测点");
                Chart1.Series.Add(s1);
                Chart1.Series[s1].ChartType = SeriesChartType.Line;
                Chart1.Series[s1].Color = Color.Tomato;
                if (num > 40)
                {
                    Chart1.Series[s1].IsValueShownAsLabel = false;
                    Chart1.ChartAreas[s1].AxisX.IntervalOffset = 1;
                    Chart1.ChartAreas[s1].AxisX.Interval = 10;
                }
                else if (num >= 20 && num <= 40)
                {
                    Chart1.Series[s1].IsValueShownAsLabel = false;
                    Chart1.ChartAreas[s1].AxisX.IntervalOffset = 1;
                    Chart1.ChartAreas[s1].AxisX.Interval = 5;
                }
                else if (num < 20 && num > 8)
                {
                    Chart1.Series[s1].IsValueShownAsLabel = true;
                    Chart1.ChartAreas[s1].AxisX.IntervalOffset = 1;
                    Chart1.ChartAreas[s1].AxisX.Interval = 2;
                }
                else if (num <= 8)
                {
                    Chart1.Series[s1].IsValueShownAsLabel = true;
                    Chart1.ChartAreas[s1].AxisX.IntervalOffset = 1;
                    Chart1.ChartAreas[s1].AxisX.Interval = 2;
                }

                Chart1.Series[s1].BorderWidth = 2;
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    string colName = ds.Tables[0].Columns[1].ColumnName;
                    string date = row[colName].ToString();
                    string tmp = ds.Tables[0].Columns[2].ColumnName;
                    string test = row[tmp].ToString();


                    Chart1.Series[s1].Points.AddXY(date, test);
                }
                ds.Clear();
            }
        }
这是我以前写的一个折现图 你感受一下 涨涨姿势
md5e 2013-03-13
  • 打赏
  • 举报
回复
open flash Chart
md5e 2013-03-13
  • 打赏
  • 举报
回复
dotnetCHARTING

gxingmin 2013-03-11
  • 打赏
  • 举报
回复
有MSChart控件,你试试
gxingmin 2013-03-11
  • 打赏
  • 举报
回复
内容概要:本文围绕“分布式电源接入配电网承载力评估方法”的研究展开,重点复现了一项基于双层鲸鱼优化算法求解的核心学术论文,结合Matlab编程实现,对IEEE 33节点配电网系统进行建模与仿真分析。研究旨在科学评估在大规模分布式电源接入背景下配电网的承载能力,构建了综合考虑系统运行安全性、电能质量、网络损耗及电压稳定性等多重约束条件的优化评估模型,并采用高效的智能优化算法进行求解,有效提升了评估精度与计算效率,为新能源并网规划、电网扩容改造及运行决策提供了可靠的理论依据和技术支撑。该资源不仅提供完整的代码实现,还深入解析算法设计逻辑与模型构建流程,具有较强的科研复现价值和工程参考意义。; 适合人群:具备电力系统分析基础理论知识和Matlab编程能力,从事新能源并网、智能配电网规划、电力系统优化、分布式能源管理等方向的研究生、科研人员及电力行业工程技术人员。; 使用场景及目标:① 学习并掌握分布式电源接入对配电网影响的量化评估方法;② 深入理解双层优化架构与智能算法(如鲸鱼优化算法)在复杂电力系统问题中的应用机制;③ 获取可运行、可调试的Matlab代码资源,用于科研论文复现、课题研究仿真、课程设计或工程项目前期论证。; 阅读建议:此资源以核心论文的技术路线为基础,强调理论与实践相结合。建议读者在阅读过程中结合电力系统潮流计算、约束优化等基础知识,逐步理解模型构建思路,并动手运行与调试所提供的Matlab代码,通过参数调整与结果分析深化对算法性能与工程适用性的认知,从而真正实现从“看懂”到“掌握”的转化。
内容概要:本文系统阐述了一种基于高热点算法的数据驱动与多离散场景分布鲁棒优化方法,聚焦于电热综合能源系统的协同优化问题。研究融合双层鲸鱼优化算法、非合作博弈理论与居民负荷分层调度模型,构建了兼顾不确定性与多方利益博弈的复杂系统优化框架,并通过Matlab代码实现了完整的建模、求解与仿真流程,充分体现了数据驱动与鲁棒优化在现代综合能源系统中的应用价值。; 适合人群:具备电力系统分析、优化算法及Matlab编程基础的科研人员与高校研究生,尤其适用于从事能源互联网、综合能源系统调度、鲁棒优化与智能算法应用等相关领域研究的专业人士。; 使用场景及目标:①实现电热综合能源系统的多能协同与优化调度;②应对源荷不确定性下的多场景鲁棒决策问题;③设计基于博弈机制的负荷侧资源分层调控策略;④为高水平学术论文复现、科研项目开发及算法验证提供可运行、可扩展的Matlab代码支持。; 阅读建议:建议结合网盘提供的完整代码与案例数据,按照技术路线逐步学习,重点关注双层优化结构的设计逻辑、非合作博弈的数学建模方式以及鲸鱼算法在多场景鲁棒优化中的实现细节,通过调试与修改代码深化对核心算法与系统模型的理解,提升科研实践与创新能力。

4,818

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧