转至元数据结尾
转至元数据起始

WPF和Silverlight版 Chart3D允许您通过在绘图区域立方体的顶部,Ceiling区域,底部以及Floor区域显示轮廓或分区以允许图表以二维方式显示。

为确定Floor的外观,设置FloorAppearance 属性(在线文档'FloorAppearance 属性')。在以下示例中,该XAML片段设置一个SurfaceZone 图表的FloorAppearance 属性的值为Contour。

XAML

<c1chart3d:C1Chart3D Height="150" HorizontalAlignment="Left" Margin="234,132,0,0" Name="c1Chart3D1" VerticalAlignment="Top" Width="200" ChartType="SurfaceZone"
FloorAppearance="Contour">
<c1chart3d:GridDataSeries ZDataString="1 1 1,2 2 2,3 3 3" /> </c1chart3d:C1Chart3D>

为确定Ceiling的外观,设置CeilAppearance 属性(在线文档'CeilAppearance 属性')。在下面的例子中,该XAML片段设置一个SurfaceContour 图表的CeilAppearance 属性的值为Zone。

XAML

<c1chart3d:C1Chart3D Height="150" HorizontalAlignment="Left" Margin="234,132,0,0" Name="c1Chart3D1" VerticalAlignment="Top" Width="200" ChartType="SurfaceContour"
CeilAppearance="Zone"> <c1chart3d:GridDataSeries ZDataString="1 1 1,2 2 2,3 3 3" /> </c1chart3d:C1Chart3D>
FloorAppearance 以及CeilAppearance 属性提供四外观选项:

创建一个二维图表

通过修改图表的Elevation属性(在线文档'Elevation属性'),您可以容易地创建一个平面的三围图表,比如说热点地图。每个图表有一个仰角,或一个X轴上访的倾斜角。当您第一次向窗体添加一个图表时,默认情况下,仰角为150 度。您可以通过设置Elevation 属性为90或180将图表平面化,取决于您希望如何将其相对于X轴平面化。

下面的XAML片段设置一个图表的Elevation属性的值为90。

XAML

<c1chart3d:C1Chart3D Height="150" HorizontalAlignment="Left" Margin="234,139,0,0"
Name="c1Chart3D1" VerticalAlignment="Top" Width="200" Elevation="90">
<c1chart3d:GridDataSeries ZDataString="1 1 1,2 2 2,3 3 3" />
</c1chart3d:C1Chart3D>

创建自定义坐标轴注释

三维图表具有X,Y和Z轴,这些坐标轴可以由C1Chart3D对象控制。您可以通过C1Chart3D 对象自定义坐标轴的外观,然后通过AxisX,AxisY,以及AxisZ属性设置 X,Y和Z轴的新外观。本章节描述了最常见的坐标轴设置 场景,用于将图表变得更加可读,比如说加标签,缩放,以及格式化。

自定义坐标轴标注模板

以下示例演示如何使用AnnoTemplate 属性(在线文档'AnnoTemplate 属性')创建一个颜色取决于相应的坐标轴的值的坐标轴标签。
添加以下XAML代码至您的 MainWindow.xaml 或者 MainPage.xaml文件:

注意:注意:在一个Silverlight应用程序,您应当添加<Page.Resources> </Page.Resources>标签以取代 <Window.Resources>标签。

XAML

<Window.Resources>
<!-- 转换器实例 -->
<local:LabelToColorConvereter x:Key="cnv" />
</Window.Resources>
<Grid>
<c1chart3d:C1Chart3D Name="c1Chart3D1" >
<c1chart3d:GridDataSeries ZDataString="-1 -1 -1,0 0 0, 1 1 1" />
<c1chart3d:C1Chart3D.AxisZ>
<c1chart3d:Axis3D>
<!-- 设置坐标轴注释模板 --> <c1chart3d:Axis3D.AnnoTemplate>
<DataTemplate >
<!-- DataContext 是坐标轴标签(字符串),通过转换器设置颜色-->
<TextBlock Width="20" Height="12" Text="{Binding}"
Foreground="{Binding Converter={StaticResource cnv}}" />
</DataTemplate>
</c1chart3d:Axis3D.AnnoTemplate>
</c1chart3d:Axis3D>
</c1chart3d:C1Chart3D.AxisZ>
</c1chart3d:C1Chart3D>
</Grid>

选择视图|代码并添加以下代码。绑定转换器按照不同的值选择不同的坐标轴标签的画刷。 C#
public class LabelToColorConvereter : IValueConverter
{
static Brush belowZero = new SolidColorBrush(Colors.Blue); static Brush aboveZero = new SolidColorBrush(Colors.Red); static Brush zero = new SolidColorBrush(Colors.DarkGray);
public object Convert(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
// 表示坐标轴标签的字符串
string s = value as string; if (!string.IsNullOrEmpty(s))
{
var dv = double.Parse(s);
// 返回由值决定的画刷
if (dv < 0) return belowZero; else if (dv > 0) return aboveZero; else
return zero;
}
return value;
}
public object ConvertBack(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}


坐标轴标题

向坐标轴添加一个标题以声明该坐标轴表示的图表值。带有指定字体的标题可以添加到任何坐标轴。添加一个坐标轴标题:添加一个坐标轴标题:利用坐标轴Title(在线文档'Title属性')属性向坐标轴添加一个标题。

  1. 在Visual Studio属性窗口,展开AxisX,AxisY,或者AxisZ属性。
  2. 在Title属性一栏键入一个标题。 3. 为删除标题,请删除该段文本。
  • 无标签