Windows Phone 7 chart图表编程
2011-03-10 23:56
204 查看
利用Silverlight自带的chart组件可以很轻易地编写出各种常用的图表图形。
组件所在命名空间:
System.Windows.Controls.DataVisualization.Charting
在System.Windows.Controls.DataVisualization.Charting空间下可以定义下面7种图形
1、LineSeries 线性图
2、PieSeries 饼图
3、ColumnSeries 柱形图
4、AreaSeries 区域图
5、BarSeries 条状图
6、ScatterSeries 散点图
7、BubbleSeries 气泡图
下面通过静态绑定的方法用Microsoft.Phone.Control.Panorama全景视图控件展现一下LineSeries、PieSeries、ColumnSeries、AreaSeries四种图形。
页面文件 省略了重复的代码
后台代码部分
组件常用方法:
Refresh:强制该组件从它的数据源刷新数据,然后重新渲染结果序列。
组件的常用属性:
ActualAxes:获取显示在该组件上的实际轴数。
Axes:获取或设置在组件中的轴的序列。
ChartAreaStyle:获取或设置ISeriesHost的图表区域样式。
LegendItems:获取图例项的集合。
LegendStyle:获取或设置图例的样式。
LegendTitle:获取或设置图例的标题内容。
PlotAreaStyle:获取或设置该组件绘图区域的样式。
Series:获取或设置显示在该组件中的数据序列集合。
StylePalette:获取或设置一个由ISeriesHost子项所使用的样式调色板。
Title:获取或设置该组件的标题。
TitleStyle:获取或设置该组件的标题的样式。
组件所在命名空间:
System.Windows.Controls.DataVisualization.Charting
在System.Windows.Controls.DataVisualization.Charting空间下可以定义下面7种图形
1、LineSeries 线性图
2、PieSeries 饼图
3、ColumnSeries 柱形图
4、AreaSeries 区域图
5、BarSeries 条状图
6、ScatterSeries 散点图
7、BubbleSeries 气泡图
下面通过静态绑定的方法用Microsoft.Phone.Control.Panorama全景视图控件展现一下LineSeries、PieSeries、ColumnSeries、AreaSeries四种图形。
页面文件 省略了重复的代码
View Code <phone:PhoneApplicationPage xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" xmlns:charting="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit" xmlns:local="clr-namespace:DataVisualizationOnWindowsPhone" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:DataVisualization="clr-namespace:System.Windows.Controls.DataVisualization;assembly=System.Windows.Controls.DataVisualization.Toolkit" xmlns:controls="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls" x:Class="DataVisualizationOnWindowsPhone.MainPage" SupportedOrientations="PortraitOrLandscape" Orientation="Portrait" mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="800" shell:SystemTray.IsVisible="False"> <phone:PhoneApplicationPage.Resources> <!-- Data --> <local:Activities x:Key="Activities" /> </phone:PhoneApplicationPage.Resources> <phone:PhoneApplicationPage.FontSize> <StaticResource ResourceKey="PhoneFontSizeNormal" /> </phone:PhoneApplicationPage.FontSize> <phone:PhoneApplicationPage.Foreground> <StaticResource ResourceKey="PhoneForegroundBrush" /> </phone:PhoneApplicationPage.Foreground> <Grid> <Grid.RowDefinitions> <RowDefinition /> </Grid.RowDefinitions> <!-- Title --> <controls:Panorama Title="图表控件" > …… <controls:PanoramaItem Header="饼图"> <Grid> <charting:Chart x:Name="pieChart" Style="{StaticResource PhoneChartStyle}" Template="{StaticResource PhoneChartPortraitTemplate}" Margin="0,0,-7,0"> <charting:Chart.Palette> <DataVisualization:ResourceDictionaryCollection> <ResourceDictionary> <Style x:Key="DataPointStyle" TargetType="Control"> <Setter Property="Background"> <Setter.Value> <RadialGradientBrush MappingMode="Absolute"> <GradientStop Color="Blue" Offset="0.9" /> <GradientStop Color="DarkBlue" Offset="1.0" /> </RadialGradientBrush> </Setter.Value> </Setter> <Setter Property="BorderBrush" Value="Transparent" /> </Style> </ResourceDictionary> <ResourceDictionary> <Style x:Key="DataPointStyle" TargetType="Control"> <Setter Property="Background"> <Setter.Value> <RadialGradientBrush MappingMode="Absolute"> <GradientStop Color="Yellow" Offset="0.8" /> <GradientStop Color="Orange" Offset="1.0" /> </RadialGradientBrush> </Setter.Value> </Setter> <Setter Property="BorderBrush" Value="Transparent" /> </Style> </ResourceDictionary> <ResourceDictionary> <Style x:Key="DataPointStyle" TargetType="Control"> <Setter Property="Background"> <Setter.Value> <RadialGradientBrush MappingMode="Absolute"> <GradientStop Color="Red" Offset="0.8" /> <GradientStop Color="DarkRed" Offset="1.0" /> </RadialGradientBrush> </Setter.Value> </Setter> <Setter Property="BorderBrush" Value="Transparent" /> </Style> </ResourceDictionary> <ResourceDictionary> <Style x:Key="DataPointStyle" TargetType="Control"> <Setter Property="Background"> <Setter.Value> <RadialGradientBrush MappingMode="Absolute"> <GradientStop Color="Green" Offset="0.8" /> <GradientStop Color="DarkGreen" Offset="1.0" /> </RadialGradientBrush> </Setter.Value> </Setter> <Setter Property="BorderBrush" Value="Transparent" /> </Style> </ResourceDictionary> <ResourceDictionary> <Style x:Key="DataPointStyle" TargetType="Control"> <Setter Property="Background"> <Setter.Value> <RadialGradientBrush MappingMode="Absolute"> <GradientStop Color="Lime" Offset="0.8" /> <GradientStop Color="LimeGreen" Offset="1.0" /> </RadialGradientBrush> </Setter.Value> </Setter> <Setter Property="BorderBrush" Value="Transparent" /> </Style> </ResourceDictionary> <ResourceDictionary> <Style x:Key="DataPointStyle" TargetType="Control"> <Setter Property="Background"> <Setter.Value> <RadialGradientBrush MappingMode="Absolute"> <GradientStop Color="LightGray" Offset="0.8" /> <GradientStop Color="DarkGray" Offset="1.0" /> </RadialGradientBrush> </Setter.Value> </Setter> <Setter Property="BorderBrush" Value="Transparent" /> </Style> </ResourceDictionary> </DataVisualization:ResourceDictionaryCollection> </charting:Chart.Palette> <charting:PieSeries x:Name="pieSeries" ItemsSource="{StaticResource Activities}" DependentValuePath="Count" IndependentValuePath="Activity" AnimationSequence="FirstToLast" /> </charting:Chart> </Grid> </controls:PanoramaItem> …… </controls:Panorama> </Grid> </phone:PhoneApplicationPage>
后台代码部分
using System.Collections.Generic; using System.Windows; using System.Windows.Controls; using Microsoft.Phone.Controls; namespace DataVisualizationOnWindowsPhone { using System.Windows.Controls.DataVisualization.Charting; using System.Windows.Media; using DataVisualizationOnWindowsPhone.CustomPieChart; public partial class MainPage : PhoneApplicationPage { public MainPage() { InitializeComponent(); } } //活动信息的类 public class ActivityInfo { public string Activity { get; set; } public int Count { get; set; } } //活动的活动列表类 数据源 public class Activities : List<ActivityInfo> { public Activities() { Add(new ActivityInfo { Activity = "上班", Count = 100 }); Add(new ActivityInfo { Activity = "吃饭", Count = 26 }); Add(new ActivityInfo { Activity = "聊QQ", Count = 6 }); Add(new ActivityInfo { Activity = "陪老婆", Count = 60 }); Add(new ActivityInfo { Activity = "旅游", Count = 10 }); Add(new ActivityInfo { Activity = "发呆", Count = 18 }); } } }
组件常用方法:
Refresh:强制该组件从它的数据源刷新数据,然后重新渲染结果序列。
组件的常用属性:
ActualAxes:获取显示在该组件上的实际轴数。
Axes:获取或设置在组件中的轴的序列。
ChartAreaStyle:获取或设置ISeriesHost的图表区域样式。
LegendItems:获取图例项的集合。
LegendStyle:获取或设置图例的样式。
LegendTitle:获取或设置图例的标题内容。
PlotAreaStyle:获取或设置该组件绘图区域的样式。
Series:获取或设置显示在该组件中的数据序列集合。
StylePalette:获取或设置一个由ISeriesHost子项所使用的样式调色板。
Title:获取或设置该组件的标题。
TitleStyle:获取或设置该组件的标题的样式。
相关文章推荐
- Windows Phone 7 chart图表编程
- Windows Phone 7 chart图表编程
- Microsoft Chart Control----从此做个不怕图表编程的程序员
- Nevron Chart教程(2):多轴图表的使用---Nevron Chart图轴对接
- highChart动态生成图表一片空白
- Asp.net 2.0 自定义控件开发[开发一个图表(WebChart)控件(柱状图示例)](示例代码下载)
- Windows Phone 8.1的网络编程之HttpWebRequest类
- android开源图表库MPAndroidChart
- android 统计图表MPAndroidChart
- Highchart基础教程-图表配置
- MPAndroidChart 教程:与图表进行手势交互 Interaction with the Chart(二)
- JS组件系列——开源免费图表组件:Chart.js
- GEOSERVER显示图表(CHART)
- 案例:中科院光机所应用大数据可视化工具-LightningChart |见证高性能图表
- 使用DevExpress的WebChartControl控件绘制图表(柱状图、折线图、饼图)
- Windows Phone 7 网络编程之RSS阅读器
- MPAndroidChart 教程:与图表进行手势交互 Interaction with the Chart(二)
- ASP.NET MVC2 chart图表
- flashbuilder使用竖条图表ColumnChart示例
- 用微软Chart制作图表