找回密码
 立即注册

QQ登录

只需一步,快速开始

willwy

高级会员

1

主题

8

帖子

1321

积分

高级会员

积分
1321

活字格认证

最新发帖
willwy
高级会员   /  发表于:2012-10-23 14:15  /   查看:11664  /  回复:12
现在需要使用C1.WPF.C1Chart实现类似C1.Win.C1Chart中的Chart.ChartArea.PlotArea.AlarmZones的功能:
1.在Chart中可以使用不同的颜色分成不同的区域,
2.区域可以通过参数调整,而不是固定不可调的区域,
3.该区域应该有颜色并且是透明的,不影响曲线的可视性;

考虑过使用ChartPanel实现AlarmZones的功能,发现ChartPanel设置颜色后总是显示在最上面一层,挡住曲线的可视性,暂时没有考虑出合适的方案,请大家帮忙

12 个回复

倒序浏览
willwy
高级会员   /  发表于:2012-10-23 14:18:00
沙发
已经查看完成帮助文档,尝试使用Column来实现AlarmZones的功能,但是,不能做到设置完成颜色后还是透明效果,比较麻烦
回复 使用道具 举报
willwy
高级会员   /  发表于:2012-10-23 14:37:00
板凳
下面代码是AlarmZone中的功能,  
zone = chartThickness.ChartArea.PlotArea.AlarmZones.AddNewZone();
                zone.BackColor = Color.PaleGreen;
                zone.ForeColor = Color.PaleGreen;
                zone.LowerExtent = minThickness;
                zone.UpperExtent = maxThickness;
                zone.Visible = true;
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-10-23 15:03:00
地板
回复 3楼willwy的帖子

willwy 你好,

WPF 版本中没有明确声明可以实现 AlarmZones 功能,所以我们需要同开发人员确认是否可以实现。由于时差原因,最早可以明天回复。
回复 使用道具 举报
willwy
高级会员   /  发表于:2012-10-23 15:12:00
5#
Thank you very much ,waiting for your reply
回复 使用道具 举报
willwy
高级会员   /  发表于:2012-10-23 15:58:00
6#
下面是使用Column来实现Alarmzone的功能的代码,问题还是不能将颜色设置为透明;
     double[] targetThickness2 = new double[xSeries.Length];
            for (int i = 0; i < xSeries.Length; i = i + 5)
            { targetThickness2 = targetThinkessLine - toleranceLine; }
            targetThickDataSeries[1] = new XYDataSeries()
            {
                XValuesSource = xSeries,
                ValuesSource = targetThickness2,
                ChartType = ChartType.XYPlot,
                SymbolFill = System.Windows.Media.Brushes.Green,
                SymbolStroke = System.Windows.Media.Brushes.Green,
                SymbolMarker = Marker.Box,
                SymbolSize = new System.Windows.Size(8,10)
            };
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-10-23 18:01:00
7#
回复 6楼willwy的帖子

请尝试一下代码:

  1. double[] targetThickness2 = new double[xSeries.Length];
  2.             for (int i = 0; i < xSeries.Length; i = i + 5)
  3.             { targetThickness2 = targetThinkessLine - toleranceLine; }
  4.             targetThickDataSeries[1] = new XYDataSeries()
  5.             {
  6.                 XValuesSource = xSeries,
  7.                 ValuesSource = targetThickness2,
  8.                 ChartType = ChartType.XYPlot,
  9.                 SymbolFill = new SolidColorBrush(Color.FromArgb(50, 10, 10, 10)),
  10.                 SymbolSize = new System.Windows.Size(8,10)
  11.             };
复制代码
回复 使用道具 举报
willwy
高级会员   /  发表于:2012-10-24 10:03:00
8#
我刚才查看了一下,确实是透明色,我想询问能否在XAML中设置透明色,并且提供的透明色颜色为灰色,能否给其他颜色的透明色,比如其他颜色的透明的参数,PaleGreen,yellow的透明参数
<StackPanel x:Name="sp1">
        <c1:C1Chart Name="chtTest" ChartType="Column" MinHeight="400" Height="Auto" Background="White" >
        </c1:C1Chart>
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-10-24 11:34:00
9#
回复 8楼willwy的帖子
  1. <c1chart:DataSeries SymbolFill="#11ff0000"  Label="Series 1" Values="20 22 19 24 25" />
复制代码
回复 使用道具 举报
willwy
高级会员   /  发表于:2012-10-26 16:54:00
10#
能否提供其他颜色的透明色,比如其他颜色的透明的参数,PaleGreen,yellow的透明参数
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部