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

qqq521647 2013-03-11 01:00:43
如题,我想在web程序中画一个折线统计图或饼图。。。。跪求大神出手,源码,第三方控件什么的都行,求实现!!!本人新手一个。。。在线等!!!!
...全文
174 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平台实现了完整热网数学模型的构建与仿真分析。研究充分考虑热力网络的物理特性、能量传输损耗、多能互补机制以及区域间的耦合约束,建立了涵盖能源生产、传输与消费全过程的协同优化模型。通过集成灰狼优化(GWO)、改进灰狼优化(IGWO)、金豺优化(GJO)等多种智能优化算法,对系统运行成本、能源利用效率及碳排放等多重目标进行联合优化求解,有效提升了综合能源系统的经济性、可靠性和可持续性水平。文中提供的完整Matlab代码支持EI级别论文的复现,具有较强的科研参考价值和工程应用潜力。; 适合人群:面向具备能源系统、电力系统或热力工程等相关专业背景,熟悉Matlab编程环境,从事综合能源系统建模、热网优化调度、多能协同控制等方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于多区域综合能源系统中热力网络的建模与潮流仿真分析;②支撑系统级运行优化研究,包括经济调度、低碳运行、多能协同与可靠性提升;③为智能优化算法在复杂能源系统中的应用提供可复现的案例支持与代码基础,助力高水平学术论文撰写与算法验证。; 阅读建议:建议结合Matlab代码逐模块解析热网建模流程与优化求解逻辑,重点关注热网节点方程、耦合元件建模、目标函数构造及约束条件处理方法,推荐配合实际系统参数进行调试与拓展实验,以深入掌握综合能源系统协同优化的核心机制。
内容概要:本文系统研究了基于六种智能优化算法(粒子群PSO、灰狼GWO、鲸鱼WOA、哈里斯鹰HHO、蜣螂DBO、麻雀SSA)的无人机三维路径规划方法,并通过Matlab代码实现了仿真验证。研究构建了一个综合考虑路径长度、飞行高度、环境威胁和转弯角度等因素的多成本目标函数,旨在评估各类算法在复杂三维空间中寻找最优飞行路径的能力。通过对不同算法在收敛速度、寻优精度、路径安全性和稳定性等方面的对比分析,揭示了各算法在处理无人机路径规划这一多目标优化问题时的性能差异与适用边界,为实际工程应用中的算法选择与改进提供了科学依据和技术支撑。; 适合人群:具备一定Matlab编程基础,从事无人机路径规划、智能优化算法研究及相关领域的科研人员、研究生及工程技术开发者。; 使用场景及目标:①应用于复杂地形或城市环境下的无人机自主导航与避障路径规划;②用于系统性比较元启发式优化算法在三维空间路径规划任务中的表现,辅助科研与工程实践中算法的选型、优化与集成; 阅读建议:建议结合提供的Matlab代码进行仿真实验,通过调整环境参数与算法超参数,深入观察各算法的迭代过程与路径生成效果,从而全面理解其搜索机制与性能特征。
内容概要:本文围绕密集型复杂城市环境下的无人机三维路径规划问题,提出一种基于Q-learning强化学习算法的解决方案。通过构建包含建筑障碍物、飞行高度限制、路径长度及安全威胁等多因素的三维空间模型,设计合理的状态空间、动作空间与奖励函数,利用Q-learning算法实现无人机从起始点到目标点的自主避障路径规划。研究重点在于强化学习在复杂动态环境中的应用,采用Matlab进行仿真实验,验证了该方法在生成安全、高效飞行路径方面的有效性与可行性,为无人机在城市空中交通、应急救援与物流配送等场景中的自主导航提供了理论支持和技术路径。; 适合人群:具备一定人工智能、强化学习及路径规划基础知识,从事无人机导航、智能控制、自动化或相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于城市环境中的无人机自主飞行系统开发;②为强化学习在三维路径规划中的实际落地提供可复现的Matlab代码实现;③用于对比分析Q-learning与其他智能优化算法在复杂空间中的路径规划性能差异;④支撑智能交通、智慧城市建设中的低空飞行器决策系统研究。; 阅读建议:建议读者结合提供的Matlab代码深入理解算法实现细节,重点关注状态表示设计与奖励机制的构建逻辑,并可通过调整城市环境参数、障碍物密度或引入动态威胁源等方式,进一步测试算法的鲁棒性、收敛性与泛化能力。

4,818

社区成员

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

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