有没有开源的第三方统计图插件 我想找一个开源的统计图生成控件,最好附上源代码,在线等急急急! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用这个:A flexible charting library for .NEThttp://www.codeproject.com/KB/graphics/zedgraph.aspx我用的就是这个,完全开源的,可以根据具体的需要而修改 using System;using System.Web.UI;using System.Data;using System.Web.UI.WebControls;using System.Drawing;using System.Drawing.Imaging;using System.IO;using System.Web;using System.ComponentModel;using System.Collections;namespace WebChart{ /**//// <summary> /// 柱状图控件 /// 需要传入列表项名,值,超级连接地址 /// </summary> [ToolboxData("<{0}:Columniation runat=server></{0}:Columniation>")] public class Columniation : System.Web.UI.WebControls.WebControl { private const int _colorLimit = 12; //颜色列表 private Color[] _color = { Color.Chocolate, Color.YellowGreen, Color.Olive, Color.DarkKhaki, Color.Sienna, Color.PaleGoldenrod, Color.Peru, Color.Tan, Color.Khaki, Color.DarkGoldenrod, Color.Maroon, Color.OliveDrab }; private DataTable items;//列表项名称和值 private string text = "数据"; private string datastd = "标准值"; private string data = "实时数据"; int kds = 10; //刻度数 float kddw = 100; //没刻度大小 int zmheight = 500; //真个图区高 int zmwidth = 740; //真个图区宽 int height = 400;//呈现区高 int width = 730; int cxtop = 30;//呈现区距顶距离 int cxleft = 30;//呈现区左边距离 Color bzlink = Color.Black;//标准线颜色 int Chart_Flag = 1; Bitmap bm; int Displacement = 0; //获取负坐标刻度数 [Bindable(true), Category("Appearance"), DefaultValue("")] public string Text { get { return text; } set { text = value; } } [Bindable(true), Category("Appearance"), DefaultValue("")] public string DataStdName { get { return datastd; } set { datastd = value; } } [Bindable(true), Category("Appearance"), DefaultValue("")] public string DataName { get { return data; } set { data = value; } } /**//// <summary> /// 需要呈现的数据 /// </summary> public DataTable Items { set { items = value; } } /**//// <summary> /// 需要显示的刻度量 /// </summary> public int Kdcount { set { kds = value; } } /**//// <summary> /// 刻度大小 /// </summary> public float Kddw { set { kddw = value; } } public int ChatStyle { set { this.Chart_Flag = value; } } /**//// <summary> /// 将此控件呈现给指定的输出参数。 /// </summary> /// <param text="output"> 要写出到的 HTML 代码 </param> protected override void Render(HtmlTextWriter output) { //if(dt==null) //{ // return "没有数据"; //} //设计样式 kd(items); output.Write(makeimage(items, "c:/")); } private string makeimage(DataTable dt, string imagefile) { string url = ""; switch (Chart_Flag) { case 1: { this.Draw_X_Y_Bar(dt); url = this.Drar_Bar(dt); break; } case 2: { this.Draw_X_Y(dt); url = this.Drow_Lin(dt); break; } case 3: { url = this.Draw_Pie(dt); break; } } return url; } /**//// <summary> /// 换算成实际值 /// </summary> /// <param text="kd">提供的值</param> /// <returns>返回换算后的实际值</returns> private float bl(float kd) { float bls = 1; bls = (float)height / ((float)kds * (float)kddw); return (float)kd * bls; } 开源的有ZedGraph,Nplot等参考 内容太长了,不想发了,详情请见:ftp://10014.kgkg.net/1.txt新建一个类:Chart.cs将1.txt中的代码全部复制到类文件里面,然后将其编译成dll文件,最后将其添加到工具箱中。使用指南:将控件拖动到页面中:后台设置: Columniation1.Items = dt;//设置控件显示的数据源。 Columniation1.ChatStyle = 2; //1 为柱状,2 为折线,3为屏状 谢谢各位的解答,不过1楼兄弟提供的连接地址不能下载了,谢谢wbxf2008提供的代码,功能还行,不过生成的图片有点丑,还是谢谢你提供的代码。 怎样实现 时间格式转化 xmlReader下的create方法怎么用 动态创建数据库表格 哪位大侠帮忙看一下 请教:treeview递归出错,急啊急急急急(附完整代码)顶就给分,今天结帖 如何使用存储过程 new oledb的一个问题,望指点迷津!! 请高手进来讨论一下程序集版本的问题。 datagrid能不能不通过写代码连接? 大侠请进,关于web内菜单的思考和疑问,一定给分! CSS定位的问题 DWCS4编写ASP.NET无法连接数据库
A flexible charting library for .NET
http://www.codeproject.com/KB/graphics/zedgraph.aspx我用的就是这个,完全开源的,可以根据具体的需要而修改
using System.Web.UI;
using System.Data;
using System.Web.UI.WebControls;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Web;
using System.ComponentModel;
using System.Collections;namespace WebChart
{
/**//// <summary>
/// 柱状图控件
/// 需要传入列表项名,值,超级连接地址
/// </summary>
[ToolboxData("<{0}:Columniation runat=server></{0}:Columniation>")]
public class Columniation : System.Web.UI.WebControls.WebControl
{
private const int _colorLimit = 12; //颜色列表
private Color[] _color =
{
Color.Chocolate,
Color.YellowGreen,
Color.Olive,
Color.DarkKhaki,
Color.Sienna,
Color.PaleGoldenrod,
Color.Peru,
Color.Tan,
Color.Khaki,
Color.DarkGoldenrod,
Color.Maroon,
Color.OliveDrab
};
private DataTable items;//列表项名称和值
private string text = "数据";
private string datastd = "标准值";
private string data = "实时数据";
int kds = 10; //刻度数
float kddw = 100; //没刻度大小
int zmheight = 500; //真个图区高
int zmwidth = 740; //真个图区宽
int height = 400;//呈现区高
int width = 730;
int cxtop = 30;//呈现区距顶距离
int cxleft = 30;//呈现区左边距离
Color bzlink = Color.Black;//标准线颜色
int Chart_Flag = 1;
Bitmap bm;
int Displacement = 0; //获取负坐标刻度数
[Bindable(true),
Category("Appearance"),
DefaultValue("")]
public string Text
{
get
{
return text;
} set
{
text = value;
}
} [Bindable(true),
Category("Appearance"),
DefaultValue("")]
public string DataStdName
{
get
{
return datastd;
} set
{
datastd = value;
}
} [Bindable(true),
Category("Appearance"),
DefaultValue("")]
public string DataName
{
get
{
return data;
} set
{
data = value;
}
} /**//// <summary>
/// 需要呈现的数据
/// </summary>
public DataTable Items
{
set
{ items = value; }
} /**//// <summary>
/// 需要显示的刻度量
/// </summary>
public int Kdcount
{
set { kds = value; }
} /**//// <summary>
/// 刻度大小
/// </summary> public float Kddw
{ set { kddw = value; } } public int ChatStyle
{ set { this.Chart_Flag = value; } }
/**//// <summary>
/// 将此控件呈现给指定的输出参数。
/// </summary>
/// <param text="output"> 要写出到的 HTML 代码 </param>
protected override void Render(HtmlTextWriter output)
{
//if(dt==null)
//{
// return "没有数据";
//}
//设计样式
kd(items);
output.Write(makeimage(items, "c:/"));
} private string makeimage(DataTable dt, string imagefile)
{
string url = ""; switch (Chart_Flag)
{
case 1:
{ this.Draw_X_Y_Bar(dt);
url = this.Drar_Bar(dt); break;
}
case 2:
{
this.Draw_X_Y(dt);
url = this.Drow_Lin(dt); break;
}
case 3:
{ url = this.Draw_Pie(dt);
break;
} } return url;
}
/**//// <summary>
/// 换算成实际值
/// </summary>
/// <param text="kd">提供的值</param>
/// <returns>返回换算后的实际值</returns>
private float bl(float kd)
{
float bls = 1;
bls = (float)height / ((float)kds * (float)kddw);
return (float)kd * bls;
}
参考
新建一个类:Chart.cs
将1.txt中的代码全部复制到类文件里面,然后将其编译成dll文件,最后将其添加到工具箱中。
使用指南:将控件拖动到页面中:
后台设置:
Columniation1.Items = dt;//设置控件显示的数据源。
Columniation1.ChatStyle = 2; //1 为柱状,2 为折线,3为屏状