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

在C1Chart for WPF初级教程-初遇。Getting Started(下)章节,我们在轴部分有介绍如何给图表添加单个轴,并且在C1Chart for WPF初级教程-多轴图表介绍了如何添加多轴。在实际的业务场景中,轴会有显示日期,或是特殊的样式。在本文就来介绍如何实现轴注释的高级自定义。图表通过为了报表和分析提供可视化分析,因此用户经常需要大量的自定义。本文实现轴标签的条件话自定义。

发布于 2015/05/22 00:00

ComponentOne Enterprise

实现轴注释的高级自定义

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动画(四)

ComponentOne Enterprise | 下载试用

ComponentOne 是一套专注于企业 .NET开发、支持 .NET Core 平台,并完美集成于 Visual Studio 的第三方控件集,包含 300 多种 .NET开发控件,提供表格数据管理、数据可视化、报表和文档、日程安排、输入和编辑、导航和布局、系统提升工具等七大功能,被誉为“.NET开发的‘瑞士军刀’”。

ComponentOne 为您提供专业的产品咨询服务,并由技术支持工程师为您1对1解答。>> 发帖提问

相关产品
推荐相关案例
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态