属性AutoGenerateSeries('autogenerateseries财产在在线文档)指定是否自动创建的系列。默认情况下,
AutoGenerateSeries属性的值空,仅在Children集合为空时生成数据系列。当即将生成这些数据系列时,图表将分析
Data.ItemsSource(或者C1Chart.DataContext)集合,并为每一个支持的属性类型(数值,日期时间)创建数据系列。为了控制系列生成的过程,可以使用Binding属性指定哪一个属性应当被绘制在图表上。关于Binding属性的更多信息,请参见数据系列绑定。
样式与外观
当图表的数据和坐标轴轴被正确格式化时,它的元素可以被定制,使其看起来更清晰,更专业。以下主题包括自定义图表外观的任务。
图表资源Key
内置主题和资源有几个注册的资源Key。这些Key包括画刷,边框,以及其他元素,可以进行定制以表示一个独特的外观。当定制主题时,如果没有显示地指定资源Key将返回到使用默认值。包含的资源关键字及其描述将在在以下主题中说明。
下表将描述图表控件的图表资源Key及其元素,如图表区、绘图区、坐标轴和图例区。
图表资源图表资源Key
资源Key | 描述 |
C1Chart_Foreground_Color | 表示C1Chart的前景颜色。 |
C1Chart_Background_Color | 表示C1Chart的前景颜色。 |
C1Chart_Background_Brush | 表示C1Chart的背景画刷。 |
C1Chart_Foreground_Brush | 表示C1Chart的前景画刷。 |
C1Chart_Border_Brush | 表示C1Chart的边框画刷。 |
C1Chart_Border_Thickness | 表示C1Chart的边框宽度(全部四边)。 |
C1Chart_CornerRadius | 表示图表的圆角半径(全部四个角)。 |
C1Chart_Padding | 表示C1Chart的内边距。 |
C1Chart_Margin | 表示C1Chart的边距。 |
图例资源图例资源Key
资源Key | 描述 |
C1Chart_LegendBackground_Brush | 表示 C1Chart 图例区的背景画刷。 |
C1Chart_LegendForeground_Brush | 表示C1Chart图例区的前景画刷。 |
C1Chart_LegendBorder_Brush | 表示C1Chart图例区的边框画刷。 |
C1Chart_LegendBorder_Thickness | 表示C1Chart图例区的边框宽度(全部四边)。 |
C1Chart_Legend_CornerRadius | 表示C1Chart图例区的边框圆角半径(全部四个角)。 |
图表区域资源图表区域资源Key
资源Key | 描述 |
C1Chart_ChartAreaBackground_Brush | 表示ChartArea的背景画刷。 |
C1Chart_ChartAreaForeground_Brush | 表示当鼠标悬停经过时,ChartArea的前景画刷。 |
C1Chart_ChartAreaBorder_Brush | 表示ChartArea的边框画刷。 |
C1Chart_ChartAreaBorder_Thickness | 表示ChartArea的边框宽度。 |
C1Chart_ChartArea_CornerRadius | 表示ChartArea的圆角半径(全部四个角)。 |
|
|
C1Chart_ChartArea_Padding | 表示ChartArea的内边距。 |
绘图区资源绘图区资源Key
资源Key | 描述 |
C1Chart_PlotAreaBackground_Brush | 表示 PlotArea的背景画刷。 |
绘图区元素自定义调色板绘图区元素自定义调色板Key
资源Key | 描述 |
C1Chart_CustomPalette | 表示绘图区元素的自定义调色板。 |
Axis Keys
资源Key | 描述 |
C1Chart_AxisMajorGridStroke_Brush | 表示 AxisMajorGridStroke的画刷。 |
C1Chart_AxisMinorGridStroke_Brush | 表示AxisMinorGridStroke 的画刷。 |
图表样式
绘图区元素支持WPF Style,这是控制图表外观的方便方式。
MouseOver 样式以下示例演示如何创建一个样式,该样式设置一个PlotElement的Stroke属性的值为Black:
XAML |
|
<Window.Resources> ... |
|
注意注意:当设置您为PlotElement类型的样式的TargetType属性时,如果不给您的样式分配一个x:Key,则该样式将应用到全部的PlotElement元素。 |
为了应用鼠标悬停样式至数据系列,您可以使用SymbolStyle(在线文档 'SymbolStyle 属性')属性,如下所示:
XAML |
<c1c:DataSeries … SymbolStyle="{StaticResource mouseOver}"/> |
图表主题
WPF及Silverlight版Chart集成了多种主题,包括Office 2007,BureauBlack,以及Office 2013的主题,允许您自定义图表的外观。内置主题在WPF文档入门 章节描述并展示。
ComponentOne主题使您可以将主题应用于仅一个控件,或是整个应用程序。
数据序列颜色生成
数据系列的配色方案可以通过Palette(在线文档 'Palette 属性')属性进行选择。默认情况下,C1Chart采用
ColorGeneration.Default 设置。剩下的选项模仿微软Office的颜色主题。
下面列出数据系列的可用颜色方案:
颜色生成颜色生成设置设置 | 描述或预览描述或预览 |
Default | 当C1Chart.ColorGeneration设置为 |
Standard | |
Office | |
|
|
GrayScale | |
Apex | |
Aspect | |
Civic | |
|
|
Concourse | |
Equity | |
Flow | |
Foundry | |
|
|
Median | |
Metro | |
Module | |
Opulent | |
|
|
Oriel | |
Origin | |
Paper | |
Solstice | |
|
|
Technic | |
Trek | |
Urban | |
Verve |
改变绘图元素颜色
为了改变分配给绘图区元素,比如说条形和饼图切片(取决于图表类型),您既可以改变Palette(在线文档 'Palette 属性')属性为某一个预定义的调色板值,也可以创建您自己的自定义调色板,比如说:
C# | ||
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="b3ed017f-c087-4fa3-bd54-98a4dc00f34e"><ac:plain-text-body><![CDATA[ | Brush[] customBrushes = new Brush[2] { Brushes.Blue, Brushes.Orange }; c1Chart1.CustomPalette = customBrushes; | ]]></ac:plain-text-body></ac:structured-macro> |
格式化图表
前一章节介绍了Theme,您可以容易地快速容易地选择图表的外观。Theme(在线文档 'Theme 属性')以及Palette(在线文档 'Palette 属性')属性提供了一个内置选项的长长的列表,这些内置的选项被精心的研发以便开发人员可以通过最小的精力即可获得非常棒的结果。
在大多数应用程序中,您将选择设置为最接近于您的应用程序的主题和调色板属性的组合,然后在必要时自定义一些项目。您可以自定义的项目包括:
- 坐标轴标题:坐标轴标题是UIElement对象。您可以直接定制,并具有完全的灵活性。在Simple Charts,时间系列图表以及散点图主题中的图表示例使用到了TextElement对象,但实际上您可以使用到许多其他元素,包括面板容器类型比如说Border以及Grid对象。有关坐标轴标题的更多信息,参见坐标轴标题主题。
- 坐标轴:在Simple Charts,时间系列图表以及散点图主题中的图表示例演示了如何自定义坐标轴范围,标注旋转角度以及标注格式。所有这些都可以通过暴露在AxisX 以及 AxisY属性上的Axis对象访问。关于C1Chart的坐标轴的更多信息,请参见坐标轴。
C1Chart控件具有通常的字体属性,用于确定标注如何沿着坐标轴显示(FontFamily,FontSize,等等)。如果您
需要对标注外观的更多控制,Axis对象也暴露了一个AnnoTemplate属性,该属性可以被用来进一步自定义标注。
- 网格线:网格线由Axis属性控制。针对于主网格线和次要网格线,分别有属性进行控制
(MajorGridStrokeThickness,MajorGridStrokeThickness,MinorGridStrokeThickness,
MinorGridStrokeThickness,等等 )。关于网格线的更多信息,见网格线。
- 刻度线:刻度线也由Axis属性进行控制。针对于主刻度线和次要刻度线,分别有属性进行控制
(MajorTickStroke,MajorTickThickness,MinorTickStroke,MinorTickThickness,等等)。有关刻度线的更多信息,参见刻度线。