数据统计的视觉盛宴---visifire charts

 

上文中我给大家展示了微软提供的开源toolkit中图表控件的效果和使用,但是与fusion charts相比效果还是显得逊色。本篇将介绍另一种charts控件库—visifire charts。

visifire控件库不仅涵盖wpf/silverlight,还有windows phone的版本(由此可见将wpf的代码移植到silverlight和windows phone上是一个非常平滑的过程)。我们可以从visifire官网下载试用版本。

更加丰富的图表样式

wpf toolkit中的charts提供了7中现成的控件:AreaSeries,PieSeries,LineSeries,BarSeries,BubbleSeries,ColumnSeries,ScatterSeries。visifire-charts则提供了23中图表,但不是一种图表对应一种控件,这也是其高明之处,我们无需更换控件,只需设置一下Visifire.Charts.DataSeries的RenderAs属性即可即时的改变图表类型。

<vCharts:DataSeries x:Name="dataSeries" RenderAs="Polar"  DataSource="{Binding Path=ChartData}">
                        <vCharts:DataSeries.DataMappings>
                            <vCharts:DataMapping MemberName="AxisXLabel" Path="Left" />
                            <vCharts:DataMapping MemberName="YValue" Path="Right" />
                        </vCharts:DataSeries.DataMappings>
                    </vCharts:DataSeries>

image image image

image

定制设置横向/纵向轴线

这也是tool-kit charts不好用的地方之一,在visifire的Chart中我们可以直接在xaml中定制。

<vCharts:Chart.AxesX>
                <vCharts:Axis Title="horizontal title" />
            </vCharts:Chart.AxesX>
            <vCharts:Chart.AxesY>
                <vCharts:Axis Title="vertical title" />
            </vCharts:Chart.AxesY>

image

使用DataSource和DataMapping绑定数据并进行属性映射

要为表格绑定一个数据源是很简单的,只需设置<vCharts:DataSeris的DataSource属性。然后通过DataMapping将绑定集合对象中的属性与图表的现实目标对应起来。
<vCharts:DataSeries RenderAs="Polar"  DataSource="{Binding Path=ChartData}">
                        <vCharts:DataSeries.DataMappings>
                            <vCharts:DataMapping MemberName="AxisXLabel" Path="Left" />
                            <vCharts:DataMapping MemberName="YValue" Path="Right" />
                        </vCharts:DataSeries.DataMappings>
                    </vCharts:DataSeries>

实战visifire

有了上面的知识我们就可以在实际项目中应用visifire了。这里我们准备做一个用来像客户展示图表数据的demo,它能够及时的变化图表类型,数据的变化也能立即体现到图表上。

我们仍然然使用上篇的demo工程,由于我们上篇的demo中使用了mvvm,所以对于更换视图这样的工作不需要去修改任何viewmodel和业务代码!只需增加一个新的窗口Show2并在app.xaml中设置其为启动窗口。像其中添加visifire的Chart控件,并将图表的DataSource绑定到到ViewModel中。(此外,为了方便演示加了个button用于变更数据和一个combobox用于选择图表样式,visifire的Chart本身高度和宽度不能伸缩,我将它们绑定到父容器的长宽上。)

<vCharts:Chart Watermark="False" Theme="Theme3" Width="{Binding ElementName=scrViewer, Path=ActualWidth}" Height="{Binding ElementName=scrViewer, Path=ActualHeight}"
                            AnimationEnabled="True" AnimatedUpdate="True">
            <vCharts:Chart.Titles>
                <vCharts:Title Text="This is a chart" FontSize="12" />
                <vCharts:Title Text="This is another chart" FontSize="10" HorizontalAlignment="Right" />
            </vCharts:Chart.Titles>
            <vCharts:Chart.AxesX>
                <vCharts:Axis Title="horizontal title" />
            </vCharts:Chart.AxesX>
            <vCharts:Chart.AxesY>
                <vCharts:Axis Title="vertical title" />
            </vCharts:Chart.AxesY>
            <vCharts:Chart.Series>
                    <vCharts:DataSeries x:Name="dataSeries" RenderAs="Polar"  DataSource="{Binding Path=ChartData}">
                        <vCharts:DataSeries.DataMappings>
                            <vCharts:DataMapping MemberName="AxisXLabel" Path="Left" />
                            <vCharts:DataMapping MemberName="YValue" Path="Right" />
                        </vCharts:DataSeries.DataMappings>
                    </vCharts:DataSeries>
                </vCharts:Chart.Series>
        </vCharts:Chart>
这样,只需更换一个View而ViewModel和Model无需任何更改,我们就将一个之前使用toolkit charts的demo改成一个使用visifire的demo,由此可见合理的设计能够节省程序员的大量时间。
   
本文demo源码下载地址

相关资源

最后奉上visifire的相关资源:

visifire@codeplex

官方showcase

visifire文档(visifire官方提供的文档还是非常详细的)

在线设计器

转载于:https://www.cnblogs.com/wJiang/archive/2010/12/16/1907430.html

Visifire是一个流行的数据可视化工具,提供了丰富的图表样例,以方便开发人员创建各种图表。以下是一些Visifire图表样例的简介。 1. 折线图:Visifire提供了多种折线图样例,可以展示时间序列数据、趋势分析等。开发人员可以根据自己的需求选择不同的样式和设置。 2. 柱状图:Visifire的柱状图样例适用于展示不同类别的数据比较。开发人员可以自定义柱状图的颜色、宽度和注释等属性。 3. 饼图:Visifire的饼图样例可以用于展示百分比数据或者不同类别之间的比例关系。开发人员可以设置饼图的大小、颜色和标签位置等。 4. 散点图:Visifire的散点图样例适合展示二维数据的相关性。开发人员可以设置散点图的标记形状、大小和颜色,以及添加趋势线等。 5. 热力图:Visifire的热力图样例可以用于展示二维数据的密度分布,特别适用于大量数据的可视化。开发人员可以自定义热力图的颜色渐变、数值范围和标签等。 6. 金字塔图:Visifire的金字塔图样例适用于展示层级结构或者阶段比例。开发人员可以调整金字塔图的颜色、尺寸和标签位置等。 7. 股票图:Visifire的股票图样例可以展示股票价格的变化趋势。开发人员可以设置股票图的时间范围、坐标轴刻度和数据点样式等。 总之,Visifire提供了众多图表样例,可以满足不同类型和需求的数据可视化。开发人员可以根据自己的需求选择合适的样例并进行自定义设置,以实现令人印象深刻且有吸引力的数据可视化效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值