求帮忙,如何用C#绘制曲线图? 本帖最后由 wangnadh 于 2012-03-19 10:38:56 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 何不用MSChart或者Silverlight的Chart控件呢? 可以用第三方控件嘛,做起来不用这么麻烦的,ACTIVE REPORT还有DUNCHAR都可以很方便的实现的。SILVERLIGHT的CHART只能web使用吧? 建议你做成用户控件的形式,你这样做的会存在重绘太频繁。给你个思路不知道适合不适合你!两个Bitmap,一个画背景、一个画数据图。 囧为什么我这里连坐标都没有……有人和我说可能是load事件关联的问题……我也不知道该如何弄,有没有可能是这方面的? ??那个如果说的是这句话的话pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBox1_Paint);我调试的时候,没有//掉,照样不行啊 还是用 第三方控件吧,mschart,teechart都可以,效果都很好的 用 mschart 将Type选择Line vs2010只要用Chart控件 using System.Web.UI.DataVisualization.Charting; DataSet dsHis =GetData(); //if (dsHis.Tables[0].Rows.Count == 0) //{ // return; //} Chart1.ImageLocation = "GaugeImages"; //Chart1. // Title title1 = new Title(); title1.Name = "Title1"; title1.Text = "历史曲线"; Chart1.Titles.Add(title1); Legend legend = new Legend(); legend.Name = "Legend1"; Chart1.Legends.Add(legend); ////////////// //qqq Chart1.Series.Clear(); Chart1.ChartAreas[0].Position.Auto = true; Chart1.ChartAreas[0].InnerPlotPosition.Auto = true; //GETTIME,AREAID,SF6VALUE,O2VALUE Series series; foreach (DataColumn column in dsHis.Tables[0].Columns) { series = null; switch (column.ColumnName) { case "TVALUE": series = Chart1.Series.Add("温度(℃)"); series.YValueMembers = "TVALUE"; series.ToolTip = "温度:#VAL \n采集时间:#VALX{MM-dd HH:mm}"; //WeatherChart2.Series.Add(series); break; default: break; }//end switch (column.ColumnName) if (series != null) { series.ChartType = SeriesChartType.Spline; series.MarkerStyle = MarkerStyle.Circle; series.MarkerSize = 5; series.BorderWidth = 2; series.XValueMember = "GETTIME"; series.XValueType = ChartValueType.DateTimeOffset; } }//end foreach DataColumn column in ds.Tables[0].Columns Chart1.ChartAreas[0].AxisX.LabelStyle.Format = "MM-dd HH:mm"; Chart1.DataSource = dsHis; Chart1.DataBind(); 找到原因了,的确是少了注册事件,不过不是放在load下的,在public下就好了……囧啊囧 求帮忙! 被问及一道缓存的题目,看有没有更加好的回答 连接oracle ,oracleConection 可以连 oledbConnection 不可以连 调用存储过程参数总类型不对或个数不对 .net结合触发器编程 关于.net中窗体调用的一个问题 如果在一个DataGridView里面嵌套一个Datagridview? 如何在Delphi或其它语言中调用C#的DLL 求助?变量作用域问题? 请高手帮忙C#实现excel比较的问题 关于排班问题 求C#验证码粘连分割算法 实例方法和静态方法不能重载么?
或者Silverlight的Chart控件呢?
两个Bitmap,一个画背景、一个画数据图。
囧为什么我这里连坐标都没有……
有人和我说可能是load事件关联的问题……我也不知道该如何弄,有没有可能是这方面的?
那个如果说的是这句话的话
pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBox1_Paint);我调试的时候,没有//掉,照样不行啊
using System.Web.UI.DataVisualization.Charting;
DataSet dsHis =GetData(); //if (dsHis.Tables[0].Rows.Count == 0)
//{
// return; //}
Chart1.ImageLocation = "GaugeImages";
//Chart1.
//
Title title1 = new Title();
title1.Name = "Title1";
title1.Text = "历史曲线";
Chart1.Titles.Add(title1);
Legend legend = new Legend();
legend.Name = "Legend1";
Chart1.Legends.Add(legend); //////////////
//qqq Chart1.Series.Clear();
Chart1.ChartAreas[0].Position.Auto = true;
Chart1.ChartAreas[0].InnerPlotPosition.Auto = true;
//GETTIME,AREAID,SF6VALUE,O2VALUE
Series series;
foreach (DataColumn column in dsHis.Tables[0].Columns)
{
series = null;
switch (column.ColumnName)
{
case "TVALUE":
series = Chart1.Series.Add("温度(℃)");
series.YValueMembers = "TVALUE";
series.ToolTip = "温度:#VAL \n采集时间:#VALX{MM-dd HH:mm}";
//WeatherChart2.Series.Add(series);
break;
default:
break;
}//end switch (column.ColumnName)
if (series != null)
{
series.ChartType = SeriesChartType.Spline;
series.MarkerStyle = MarkerStyle.Circle;
series.MarkerSize = 5;
series.BorderWidth = 2;
series.XValueMember = "GETTIME";
series.XValueType = ChartValueType.DateTimeOffset;
}
}//end foreach DataColumn column in ds.Tables[0].Columns
Chart1.ChartAreas[0].AxisX.LabelStyle.Format = "MM-dd HH:mm";
Chart1.DataSource = dsHis;
Chart1.DataBind();
找到原因了,的确是少了注册事件,不过不是放在load下的,在public下就好了……
囧啊囧