找回密码
 立即注册

QQ登录

只需一步,快速开始

安心海叶

中级会员

66

主题

255

帖子

717

积分

中级会员

积分
717

活字格认证微信认证勋章

安心海叶
中级会员   /  发表于:2015-7-10 14:20  /   查看:6006  /  回复:8
对于Chart,我手动添加了两个Y轴的数据,数据大小不一,为什么各个Y轴坐标值都相同?通过获取Y轴的Max,为NaN,而ActualMax为0,我如何获取轴的最大值?

8 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-7-10 15:43:00
沙发
回复 1楼安心海叶的帖子

感谢对该问题的反馈。
Chart添加多轴,可以使用Axis.Add方法添加,在XAML里,通过ChartView.Axis就可以指定轴,AxisType属性可以指定轴的类型是X轴还是Y轴,Position属性指定轴的方向。
如何操作可以参考产品博客:
http://blog.gcpowertools.com.cn/ ... F_MultipleAxis.aspx

默认情况下,轴的最大值和最小值是根据数据自动获取的。请问你在获取这个Max和Min值前,有没有自己去设置这个值?你可以从上述的博客链接获取到相关信息。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
安心海叶
中级会员   /  发表于:2015-7-10 15:58:00
板凳
回复 2楼Alice的帖子

我想问一下,默认情况下,根据数据自动获取的轴的最大值存在哪里,可以知道值吗?
回复 使用道具 举报
安心海叶
中级会员   /  发表于:2015-7-10 15:59:00
地板
回复 2楼Alice的帖子

在获取Max和Min值前,我没有设置这个值,所以就导致添加的其它Y轴坐标都相同,以最大值为准
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-7-10 17:17:00
5#
回复 4楼安心海叶的帖子

你好。
请问你设置AxisType属性了么?
对于多轴,请参考2楼发的链接。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
安心海叶
中级会员   /  发表于:2015-7-11 14:53:00
6#
<c1:C1Chart Name="chartDemo" ChartType="XYPlot"  HorizontalAlignment="Left" Height="309" VerticalAlignment="Top" Width="483">
            <c1:C1Chart.Data>
                <c1:ChartData ItemNames="1 P2 P3 P4 P5">
                    <c1:XYDataSeries SymbolFill="Red" SymbolMarker="Diamond" Label="Series 1" RenderMode="Default" Values="20 22 19 24 25"/>
                    <c1ataSeries AxisY="Number" Label="Series 2" RenderMode="Default" Values="8 12 10 12 15"/>
                </c1:ChartData>
            </c1:C1Chart.Data>
            <c1:C1ChartLegend/>
            <c1:C1Chart.View>
                <c1:ChartView>
                    <c1:Axis x:Name="Number" Position="Far" AxisType="Y" Foreground="Green" MajorGridStroke="Transparent">
                        <c1:Axis.ScrollBar>
                            <c1:AxisScrollBar Visibility="Collapsed" />
                        </c1:Axis.ScrollBar>
                    </c1:Axis>
                </c1:ChartView>
            </c1:C1Chart.View>
        </c1:C1Chart>

如上述代码所示,哪里出了问题,我将如何才能获取轴的最大值chartDemo.View.Axes[1].Max呢
请求解答
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-7-13 09:35:00
7#
回复 6楼安心海叶的帖子

你好。
添加你6楼的代码后,可以在Window的Loaded事件里获取到最大值和最小值。
代码参考:
  1.   private void Window_Loaded(object sender, RoutedEventArgs e)
  2.         {
  3.             Console.WriteLine(this.chartDemo.View.Axes[1].ActualMax);
  4.             Console.WriteLine(this.chartDemo.View.Axes[1].ActualMin);
  5.         }
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
安心海叶
中级会员   /  发表于:2015-7-13 15:28:00
8#
回复 7楼Alice的帖子

非常感谢,问题已经解决,谢谢百忙之中回复~
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-7-13 17:27:00
9#
回复 8楼安心海叶的帖子

不用客气。
为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢        

评分

参与人数 1满意度 +5 收起 理由
安心海叶 + 5 谢谢~

查看全部评分

请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部