找回密码
 立即注册

QQ登录

只需一步,快速开始

mylwan

高级会员

1

主题

11

帖子

1827

积分

高级会员

积分
1827

活字格认证

最新发帖
mylwan
高级会员   /  发表于:2013-7-2 09:35  /   查看:9870  /  回复:18
1.当chart里面增加线图的时候,线图上下顶在Y轴的上下两端,如何设置可以让在Y轴上留出空白

2.我在chart上增加了一个ChartPanel 来显示数值,X轴是日期时候无法显示,我的代码哪里出了问题(代码是从例子里面复制的)。
var pnl = new ChartPanel();

            var obj = new ChartPanelObject()
            {
                HorizontalAlignment = HorizontalAlignment.Right,
                VerticalAlignment = VerticalAlignment.Bottom
            };

            var bdr = new Border()
            {
                Background = new SolidColorBrush(Colors.Green) { Opacity = 0.4 },
                BorderBrush = new SolidColorBrush(Colors.Green),
                BorderThickness = new Thickness(1, 1, 3, 3),
                CornerRadius = new CornerRadius(6, 6, 0, 6),
                Padding = new Thickness(3)
            };
            //bdr.Padding = new Thickness(16, 16, 0, 0);

            var sp = new StackPanel();

            var tb1 = new TextBlock();
            var bind1 = new Binding();
            bind1.Source = obj;
            bind1.StringFormat = "{0:m}";//这个地方日期无法显示
            bind1.Path = new PropertyPath("DataPoint.X");
            tb1.SetBinding(TextBlock.TextProperty, bind1);

            var tb2 = new TextBlock();
            var bind2 = new Binding();
            bind2.Source = obj;
            bind2.StringFormat = "{0:#.##}元";
            bind2.Path = new PropertyPath("DataPoint.Y");
            tb2.SetBinding(TextBlock.TextProperty, bind2);

            sp.Children.Add(tb1);
            sp.Children.Add(tb2);

            bdr.Child = sp;

            obj.Content = bdr;
            obj.DataPoint = new Point();
            obj.Action = ChartPanelAction.MouseMove;

            pnl.Children.Add(obj);

          this.c1Chart1.View.Layers.Add(pnl);
3.我想让ChartPanel  只在有曲线的地方显示,不需要在空白的没有数据的地方显示,该如何做。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

18 个回复

倒序浏览
gw0506
超级版主   /  发表于:2013-7-2 10:28:00
沙发
1.  设置Min、Max属性。c1chart.View.AxisY.Min = 0; c1chart.View.AxisY.Max = 50;
2. 应该是数据格式的问题。你可以不设置StringFormat,看看现实的数据,然后在调整Format,可以从yy/mm/dd 开始尝试。
3. 我不明确你的意思,你想做仅仅现实一根线?
回复 使用道具 举报
mylwan
高级会员   /  发表于:2013-7-2 14:26:00
板凳
第一个问题已经解决了
2还是没办法,卡那里了
3的意思就是 ChartPanel  现在鼠标移动到chart上面就会显示出来,我想让他只在以下情况显示,鼠标移动到曲线上面才显示
回复 使用道具 举报
mylwan
高级会员   /  发表于:2013-7-2 14:56:00
地板
第二个问题我真不知道怎么解决,
我改成这样
       bdr.BorderThickness = new Thickness(2, 0, 0, 0);
                bdr.Margin = new Thickness(-1, 0, 0, 0);
                obj.VerticalContentAlignment = VerticalAlignment.Stretch;
                bind.StringFormat = "x={0:yy/mm/dd}";
                bind.Path = new PropertyPath("DataPoint.X");
                obj.DataPoint = new Point(0.5, double.NaN);
也不行
回复 使用道具 举报
gw0506
超级版主   /  发表于:2013-7-2 17:12:00
5#
你能吧数据源发给我吗?
或者你的Demo工程发给我。这样更好。
回复 使用道具 举报
mylwan
高级会员   /  发表于:2013-7-2 17:20:00
6#
回复 5楼gw0506的帖子

有没有邮箱?
回复 使用道具 举报
gw0506
超级版主   /  发表于:2013-7-2 18:20:00
7#
你可以贴在这里。如果遇到问题,明天上午还麻烦你给我打个电话,或者告诉我电话,我给你打过去。
回复 使用道具 举报
mylwan
高级会员   /  发表于:2013-7-3 09:10:00
8#

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
gw0506
超级版主   /  发表于:2013-7-3 09:23:00
9#
Demo中的数据来源是远程系统,我这边不能运行。
你能给我一条数据吗?我根据这一条数据模拟其他的,然后测试。
回复 使用道具 举报
mylwan
高级会员   /  发表于:2013-7-3 09:30:00
10#
数据来源是我们服务器上的,你们公司不能访问吗?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部