找回密码
 立即注册

QQ登录

只需一步,快速开始

安心海叶

中级会员

66

主题

255

帖子

717

积分

中级会员

积分
717

活字格认证微信认证勋章

安心海叶
中级会员   /  发表于:2015-7-9 14:31  /   查看:6159  /  回复:8
界面需要多个chart,每个chart的ItemsSource都绑定相同的数据,有较多问题。
1、需要对每个chart都进行重复设置吗?
2、同一个chart,开始设置ChartType为XYPlot,更新了不同Y轴绑定的数据,及其将显示的新数据的ChartType改为Line后,回到当前Chart界面,为什么只有第一个Y轴正确画出Line数据,而其它Y轴的数据是点和线结合画出来的?而且Legend也是点线?
3、同一个chart,开始显示多个Y轴的数据,之后通过设置将其中一个Y轴的数据隐藏,如何将Legend标签设置为不可见?
谢谢解答~

8 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-7-9 17:51:00
沙发
回复 1楼安心海叶的帖子

问题一:请问您指的多个chart重复设置具体指的是什么?数据源是需要逐一进行设置的。
问题二:请问这个 Chart 中是包含有多个系列吗?能否把您当前的测试Demo发到论坛调试,具体看下您的问题。
问题三:Chart legend 可以设置可见性,属性为 Visibility

  1.     <c1:C1Chart x:Name="chart" Grid.Row="1" Style="{StaticResource CE_SampleChart}">
  2.                     <c1:C1ChartLegend Visibility="Hidden" DockPanel.Dock="Bottom" Foreground="{StaticResource CE_SampleForeground}"/>
  3.             </c1:C1Chart>
复制代码
回复 使用道具 举报
安心海叶
中级会员   /  发表于:2015-7-11 15:27:00
板凳
回复 2楼iceman的帖子

非常感谢回复~问题一和问题三都已经解决。
问题二, 代码设置如下,因为项目需要能更改线条的类型,我在.cs文件中,设置了chart的更新,结果显示的是点和线的结合,请求帮助,是哪里有问题呢           
chartDemo.BeginUpdate();
            chartDemo.ChartType = ChartType.Line;
            chartDemo.EndUpdate();


<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>[/code]
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-7-13 09:29:00
地板
回复 3楼安心海叶的帖子

很抱歉,根据你3楼的代码,不能重现你的问题。
测试版本:2015V1.
测试步骤:
1.在XAML文件里按3楼的代码设置,结果如图:



2.在window的初始化之后 InitializeComponent()添加如下代码:
  1. chartDemo.BeginUpdate();
  2.             chartDemo.ChartType = C1.WPF.C1Chart.ChartType.Line;
  3.             chartDemo.EndUpdate();
复制代码


3.运行程序,结果如图:

本帖子中包含更多资源

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

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

葡萄城控件服务团队

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

但是对于Series1,我只需要Line,不是改变之后的LineSymbols。我需要能在XYPlot和Line之间切换。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-7-13 17:26:00
6#
回复 5楼安心海叶的帖子

根据我的理解,你指的是ChartType改成Line后,Symbol的样式展示出来了菱形?
这是因为你在代码里设置了SymbolMarker=&quot;Diamond&quot;。

如果你想根据代码改变,可以自己写代码实现。
基本思路就是:当ChartType是Line的时候,就将SymblMarker恢复默认值。当ChartType是XYPlot的时候,就设置SymbolMark为Diamond。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

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

嗯,是的,非常感谢~
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-7-14 14:31:00
8#
回复 7楼安心海叶的帖子

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

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-7-23 10:27:00
9#
回复 7楼安心海叶的帖子

为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢        
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

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