《微软数据可视化》PPT课件.pptx
Silverlight/WPF的数据可视化学习学习简介了解图表的相关知识通过简单的介绍,认识并学习微软的可视化界面库议程概述实践应用相关资源议程概述实践应用相关资源概述图表百度百科:图表泛指在屏幕中显示的,可直观展示统计信息属性(时间性、数量性等),对知识挖掘和信息直观生动感受起关键作用的图形结构,是一种很好的将对象属性数据直观直观、形象地“可视化可视化”的手段。维基百科:是指统计学领域当中用于可视化定量数据的信息图形。统计学中基于图表的一种分析方法。图表的分类条形图、柱状图、折线图和饼图是图表中四种最常用的基本类型。还有冒泡图、散点图、面积图、雷达图图表的构成要素图表的基本构成要素有:标题、刻度、图例和主体等。概念术语数据系列数据系列:在图表中绘制的相关数据点,这些数据源自数据表的行或列。图表中的每个数据系列具有唯一的颜色或图案并且在图表的图例中表示。可以在图表中绘制一个或多个数据系列。饼图只有一个数据系列。数据点数据点:在图表中绘制的单个值,这些值由条形、柱形、折线、饼图或圆环图的扇面、圆点和其他被称为数据标记的图形表示。相同颜色的数据标记组成一个数据系列。概述Silverlight/WPF Data Visualization 微软可视化控件库是Silverlight/WPF Tookit的一部分,提供关于图表制作的控件(charting controls)Silverlight Tookit和WPF Tookit分别是Silverlight和WPF的一套控件集合Silverlight和WPF 的制图和图表控件使用相同的源代码和xamlSilverlight/WPF Tookit支持支持Silverlight 3,Silverlight 4,WPF 3.5,and WPF 4以及以及Windows Phone 7平台(平台(参见参见Delay文章文章)Silverlight/WPF Tookit是开放源代码的,采用微软公共许可证(Ms-PL)允许用户出于商业或非商业目的查看、修改及重新发布相应源代码和议程概述实践应用相关资源实践应用一个简单的例子下载并安装Silverlight/WPF Tookit(从这里开始以后的例子主要以Sliverlight为主)实践应用一个简单的例子新建一个Sliverlight应用程序添加引用Xaml中添加应用声明xmlns:chartingToolkit=clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit“或者xmlns:chartingTookit=http:/ 属性设定绑定对象。Cs:Chart chart=new Chart();ColumnSeriesColumnSeries cs=new ColumnSeries();cs.TitleTitle=“柱状图序列;cs.ItemsSource=DataContainer.SimplePointCollection();cs.DependentValuePathDependentValuePath=Y;cs.IndependentValuePathIndependentValuePath=X;chart.Series.Add(cs);注:DataContainer.SimplePointCollection();提供一个PointCollection类型的数据集。看实例实践应用一个简单的例子ChartSeriesColumnSeriesLineSeriesAreaSeriesScatterSeriesBubbleSeriesBarSeriesPieSeriesStackedAreaSeriesStackedColumnSeriesStackedBarSeriesStackedLineSeriesStacked100LineSeriesStacked100AreaSeriesStacked100BarSeriesStacked100ColumnSeriesAxesLinearAxis DateTimeAxis CategoryAxis各种Style实践应用一个简单的例子Chart类表示显示一个图表的控件实例化:Chart chart=new Chart();等价于Title、TitleStyle:图表的标题和样式LegendTitle、LegendStyle:图例的标题和样式Series:表格的序列集合序列具体的数据序列展现,多种不同或相同类型的序列可以添加到同一个Chart上面。lColumnSeries柱状图序列lLineSeries折线图序列lAreaSeries面积图序列lScatterSeries散点图序列lBubbleSeries气泡图序列lBarSeries条形图序列lPieSeries饼状图序列lStackedAreaSerieslStackedColumnSerieslStackedBarSerieslStackedLineSerieslStacked100LineSerieslStacked100AreaSerieslStacked100BarSerieslStacked100ColumnSeries一般序列堆积序列普通堆积序列100%堆积序列实践应用简单的自定义图表一般序列的设置:ColumnSeries、LineSeries、AreaSerie、ScatterSeries、BubbleSeries、BarSeries、PieSeriesItemsSource:设置序列的数据源IndependentValueBinding 或IndependentValuePath:设置序列非依赖轴(X轴)的绑定内容,默认作为序列图例名称DependentValueBinding或DependentValuePath:设置序列依赖轴(Y轴)的绑定内容SizeValueBinding或SizeValuePath:设置BubbleSeries序列的冒泡面积绑定内容。未设置时默认采用DependentValuePath绑定的值IndependentAxis(Iaxis):自定义序列的非依赖轴DependentRangeAxis(IRangeAxis:具有范围的轴):自定义序列的依赖轴。使用时必须注意要与绑定的数据类型匹配Title:设置序列的标题,显示在图例处注意:IndependentAxis和DependentRangeAxis不适用于PieSeries;SizeValueBinding或SizeValuePath仅适用于BubbleSeries;代码示例.ColumnSeries cs=new ColumnSeries();cs.Title=“柱状图序列;cs.ItemsSource=(new DataContainer().SimplePointCollection;cs.IndependentValuePath=X;cs.DependentValuePath=Y;chart.Series.Add(cs);实践应用自定义图表自定义轴:三种轴LinearAxis:显示数值的轴,要求对应绑定数据的类型必须是数值类型DateTimeAxis:显示时间的轴,可以使数值或者日期时间类型CategoryAxis:显示分类的轴(无法用于用于DependentRangeAxis)轴的属性Title、Orientation、Location、ShowGridLines、Maximum、Minimum、Interval以及轴相关的各元素Style自定义轴的使用:LinearAxis dtAxis=new LinearAxis();dtAxis.Title=“X”;/轴标题dtAxis.Orientation=AxisOrientation.X;/指向dtAxis.Location=AxisLocation.Bottom;/位置注意指向和位置要与数据绑定位置匹配实践应用自定义图表堆积序列:StackedBarSeries、StackedColumnSeries、StackedLineSeries、StackedAreaSeries Stacked100BarSeries、Stacked100ColumnSeries、Stacked100LineSeries、Stacked100AreaSeries与一般序列实现自DataPointSeries不同,堆积序列实现自DefinitionSeries;SeriesDefinitions:设置或获取堆积序列的SeriesDefinition集合。命名原因和关系类似于ColumnDefinition 和GridColumnDefinition colDef1=new ColumnDefinition();grid.ColumnDefinitions.Add(colDef1);SeriesDefinition类的用法与一般序列相同。使用方法:StackedColumnSeries scs=new StackedColumnSeries();SeriesDefinition sd=new SeriesDefinition();sd.Title=“栈图序列;sd.IndependentValuePath=X;sd.DependentValuePath=Y;sd.ItemsSource=(new DataContainer().SimplePointCollection;scs.scs.SeriesDefinitions.SeriesDefinitions.Add(sd);Add(sd);chart.Series.Add(scs);通过上述代码可以发现,可以通过将同一批序列定义(SeriesDefinition)放在不同类型的堆积序列里面,实现同一套数据的不同展现堆积序列的自定义轴同一般序列相同,设置IndependentAxis和DependentAxis即可。Scs.Scs.IndependentAxis=有关堆积的更多解释参见(Delay的Blog)学习资源Silverlight的工具包的工具包微软Silverlight 和和WPF 平台的开发成员平台的开发成员Delay的博客,有大量的博客,有大量silverlight toolkit 和WPF Toolkit等相关文章。Delay维护的维护的Silverlight/WPF数据可视化资源链接数据可视化资源链接http:/cesso.org/r/DVLinks更多资源 微软Health通用用户界面,通过该项目微软提供很多标准控件和自定义控件给用户.很多控件是属于开源的,在Codeplex可以下载国内一款利用Sliverlight开发的企业战略管理软件