C1Chart for WPF初级教程-实现轴注释的高级自定义

发布时间:2015/05/22 00:05 发布者:Alice

返回博客中心

实现轴注释的高级自定义

C1Chart for WPF初级教程-初遇。Getting Started(下)章节,我们在部分有介绍如何给图表添加单个轴,并且在C1Chart for WPF初级教程-多轴图表介绍了如何添加多轴。

在实际的业务场景中,轴会有显示日期,或是特殊的样式。在本文就来介绍如何实现轴注释的高级自定义。

图表为报表和分析提供可视化分析,因此用户经常需要大量的自定义。

 

本文实现轴标签的条件话自定义。

首先,我们先来看看最终的实现结果。

这张图演示了当Y轴数据为空的时候,X轴的注释用红色展示出来。如下图所示:

 

 

步骤如下:

定义轴注释模板

我们首先要定义轴标签的模板,为以后的自定义奠定基础。

XAML代码参考如下:

<Window.Resources>
  <DataTemplate x:Key="lbl">
    <TextBlock Margin="2,25,5,20" Text="{Binding}" />
  </DataTemplate>
</Window.Resources>

给X轴设置DataTemplate

一旦我们有基本的设计,就可以通过AxisX的AnnoTemplate属性设置模板,如下所示:

<c1chart:C1Chart Name="c1Chart1" ChartType="Column">

  <c1chart:C1Chart.View>
    <c1chart:ChartView>
      <c1chart:ChartView.AxisX>
       <c1chart:Axis AnnoTemplate="{StaticResource lbl}"  AnnoCreated="Axis_AnnoCreated"/>
       </c1chart:ChartView.AxisX>
      </c1chart:ChartView>
  </c1chart:C1Chart.View>

  <c1chart:C1ChartLegend DockPanel.Dock="Right" />
</c1chart:C1Chart>

如上的XAML代码,获取AnnoCreated事件。这个事件剋提供获取单独自定义注释的重画能力。

自定义轴注释

在代码的最后,我们获取每个DataSeires的注释的Y轴的值。一旦我们得到了这个值,接下来自定义AnnoTemplate的事情就变得简单了。

private void Axis_AnnoCreated(object sender, AnnoCreatedEventArgs e)
{
  if (((c1Chart1.Data.Children[0] as DataSeries).ValuesSource as ObservableCollection<double?>)[e.Index] == null)
    (e.Label as TextBlock).Foreground = new SolidColorBrush(Colors.Red);
}

 

 这样子关键的代码和步骤已经完成。

如下是本文的示例,请下载查看源码:

 WPF_Chart_ConditionalAxisLabelFormatting1.zip (11.32 kb)

 

Chart的在线英文产品文档地址:

http://helpcentral.componentone.com/nethelp/c1wpfchart/#!Documents/componentonechartforwpf.htm

如果你对C1Chart感兴趣,请到我们的官网下载最新版本:/developer/componentone-winform/controls/chart

如果你有疑问,可以到GCDN论坛获得技术支持:http://gcdn.grapecity.com.cn/showforum-68.html

 

C1Chart for WPF初级教程》系列文章

初遇。Getting Started(上)

初遇。Getting Started(下)

类型。穿Prada的女王(上)

类型。穿Prada的女王(下)

数据。和数据源相关的那些事(一)

数据。和数据源相关的那些事(二)

数据。和数据源相关的那些事(三)

数据。和数据源相关的那些事(四)

标记和标签。撕名牌大战(一)

标记和标签。撕名牌大战(二)

标记和标签。撕名牌大战(三)

导出(PDF,EXCEL) 

多轴图表 

轴的动态绑定

实现轴注释的高级自定义

颜色和大小。数据点的自定义(一)

符号。数据点的自定义(二)

基础介绍。XAML动画(一)

基础介绍。XAML动画(二)

基础介绍。XAML动画(三)

基础介绍。XAML动画(四)


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网