找回密码
 立即注册

QQ登录

只需一步,快速开始

mch1992

银牌会员

4

主题

10

帖子

2090

积分

银牌会员

积分
2090

活字格认证

最新发帖
mch1992
银牌会员   /  发表于:2015-1-7 17:40  /   查看:6288  /  回复:6
DataSet ds = db.Query("select date," + columnname + " from " + name);
            Double[] dg = new Double[ds.Tables[0].Rows.Count];
            Double[] bp = new Double[ds.Tables[0].Rows.Count];
            DateTime[] dt = new DateTime[ds.Tables[0].Rows.Count];
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                dg = Convert.ToDouble(ds.Tables[0].Rows[1].ToString());
                dt = Convert.ToDateTime(ds.Tables[0].Rows[0].ToString());
                bp = Convert.ToDouble(ds.Tables[0].Rows[2].ToString()); ;
            }
            figure.Reset(true);//初始化图表
            Axis xaxis = figure.View.AxisX;//获取图表X轴
            Axis yaxis = figure.View.AxisY;//获取图表Y轴
            figure.ChartType = ChartType.Line;//设置图表类型为曲线图
            DataSeries g = new DataSeries();
            DataSeries p = new DataSeries();
            g.ValuesSource = dg;
            g.ConnectionStroke = new SolidColorBrush(Colors.Red);
            p.ValuesSource = bp;
            xaxis.IsTime = true;
            xaxis.AnnoFormat = "yyyy-MM-dd";
            figure.Data.Children.Add(g);

            xaxis.AnnoAngle = 15;
            xaxis.MajorGridStrokeThickness = 0;
            yaxis.MajorGridStrokeThickness = 0;
            yaxis.Position = AxisPosition.Far;
            yaxis.Title = "pr";
            figure.Data.ItemNames = dt;
            Axis bpaxis = new Axis();
            bpaxis.AxisType = AxisType.Y;
            figure.View.Axes.Add(bpaxis);
            p.AxisY = bpaxis;   
            figure.Data.Children.Add(p);


问题出在倒数第二行  
技术文档中的xaml代码中<c1chart:Axis Name="ay4" AxisType="Y" Position="Far" Min="0" Max="50" />
<c1chartataSeries AxisY="ay4" Values="1 2 3 4 5" />
表明dataseries.axisY 应该为一个string类型,但是在c#中如何设置我的p(dataseries类型)的数据绑定到bpaxis

6 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-1-7 19:11:00
沙发
回复 1楼mch1992的帖子

问题已经收到,明天给你回复
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-1-8 17:05:00
板凳
回复 1楼mch1992的帖子

代码参考:
  1. DataSeries p=new DataSeries();
  2. p.ValueSource=bp;
  3. c1chart.Data.Children.Add(p);

  4. var bpaxis=new Axis();
  5. bpaxis.AxisType = AxisType.Y;
  6. bpaxis.Name=&quot;bpaxis&quot;;
  7. c1chart.View.Axes.Add(bpaxis);
  8. //给axisY轴指定刚刚添加的数据
  9. c1chart.Data.Children[1].AxisY=&quot;bpaxis&quot;;
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
mch1992
银牌会员   /  发表于:2015-1-9 08:41:00
地板
回复 3楼Alice的帖子

那也就是说dataseries类型本身是不能设置绑定Y轴的,xaml里之所以可以用这种方式是因为那里的dataseries本身就已经是定义在c1chart.Data中的一个Children.
那么dataseries里的p.AxisY所对应的字符串是否可以理解为这个dataseries的名字,使用上有什么具体作用呢
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-1-9 16:17:00
5#
回复 4楼mch1992的帖子

可以理解为名字。
有关Multiple Axes的讲解说明,可以参考在线产品文档:
http://helpcentral.componentone. ... ts/multipleaxes.htm
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
mch1992
银牌会员   /  发表于:2015-1-10 11:04:00
6#
回复 5楼Alice的帖子

算了,不是研究原理我也不管了,能实现我需要的功能就行,此问题已解决,感谢
回复 使用道具 举报
gw0506
超级版主   /  发表于:2015-1-12 09:50:00
7#
有其他问题欢迎随时提出。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部