请教C# MsChart图表的一个问题?
上面这个图表,我想将标签显示X值,怎么设置都不对,要么就显示为0,要么就只能显示Y的值。另外还有一个问题:我如果在这一个图表上面把右侧的"Series1"显示为每一个数据...
上面这个图表,我想将标签显示X值,怎么设置都不对,要么就显示为0,要么就只能显示Y的值。另外还有一个问题:我如果在这一个图表上面把右侧的"Series1"显示为每一个数据点对应的X值呢?下面是我的代码: string Time = DateTime.Now.ToShortTimeString(); for (int i = 0; i < treeView.SelectedNode.Nodes.Count; i++) { DataTable dt = new DataTable(); chart1.Tag = treeView.SelectedNode.Nodes[i].Tag; GetEgergyDetail((int)sort.CorpId, (int)treeView.SelectedNode.Nodes[i].Tag, (int)cmbKind.SelectedIndex, dt); string Amount = "0"; if (dt.Rows.Count > 0) { Amount = dt.Rows[0]["Amount"].ToString(); } string NodesX = "表名:" + treeView.SelectedNode.Nodes[i].Text + "\n" + "当前读数:" + Amount + "\n" + "运行状态:正常\n" + "报警信息:无"; chart1.Series["Series1"].Points.AddXY(NodesX, Amount); }其实我是想将:Time这个参数显示到X上面去,我知道是可以的:将这句改为:chart1.Series["Series1"].Points.AddXY(Time, Amount);就可以,但是我如何将NodesX 这个参数显示到右侧的"Series1"这个位置去,并每一个都显示出来。或者是将NodesX 这个参数显示到圆点标签的那个位置去。。。
这里有DEMO提供下载,可供测试。谢谢VS2010版
http://pan.baidu.com/s/1hqf50Ks 展开
这里有DEMO提供下载,可供测试。谢谢VS2010版
http://pan.baidu.com/s/1hqf50Ks 展开
1个回答
展开全部
对Chart不熟悉,不过刚刚下载来试了一下,最终发现是添加的时候,要转换成double才会有X的数值。如下
private void btnBegin_Click(object sender, EventArgs e)
{
chart1.Series[0].Label = "X - #VALX , Y - #VALY";
chart1.Series[0].IsValueShownAsLabel = true;
Random random = new Random();
double Time =Convert.ToDouble( DateTime.Now.Second.ToString());
chart1.Series[0].Points.AddXY(Time,Convert.ToDouble( random.Next(1000, 3000)));
}
追问
X为double的时候值可以显示,这个我也试过。但是我的X值是string,并且每一个数据标签的string值不一样。你再帮我看看有不有办法处理。
你将我上面那个代码弄上去试,就知道了。。
追答
那你为什么要显示为string,后台可以设置x轴的显示方式,值与显示可以不一样。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询