WPF 初学VisifireChart

visifire今天登陆他们官网的时候,发现好像是挂掉了,不知道是不再运营了,还是单纯服务器出了问题。

VisifireChart的效果不炫,但是对于一些项目,感觉够用的,所以,今天大概看了几篇博客,学习了一下

http://www.cnblogs.com/wyuan/archive/2012/07/22/WPF.html

http://www.cnblogs.com/xinyus/p/3422198.html

自己也尝试写了写效果,VisifireChart支持单组数据的对比,和多组数据的对比。

数据是从网上找的,然后自己弄成了XML格式文件,读取到了List列表里。

单组数据的对比,效果还是明显好看一些的。

图表的样式是通过一个枚举参数设置的RenderAs,下设很多项:点,线,柱状图等,基本都是比较常用的。

单组数据的时候,用哪种样式是都没有问题的,但是当多组数据组合时,如果是同一种样式也是OK的,但是如果是不同的样式,则有的是不兼容的。

不兼容的,直接在设计页面,直接就会抛错,如图

两组数据,一个设置的是Doughnut(圈),一个设置的是Line(线),这两种无法在一个X轴和Y轴上进行相关的实现显示,所以,会冲突。

当两个都设置成Doughnut时,不冲突,可以显示,但是很乱,所以具体的效果,需要开发人员自己根据业务要求,进行相关的组装。

 

上面两篇帖子基本都讲述了如何去用VisifireChart,但是提供的代码一般都是CS的代码,个人更喜欢用XAML代码去实现,所以,我的代码除了Binding以外,页面的设计,是用XAML写的。

复制代码
  <Grid>
        <chart:Chart Name="chart" AnimatedUpdate="True" AnimationEnabled="True" ThemeEnabled="True" View3D="True" ScrollingEnabled="True" ShadowEnabled="True" >
            <chart:Chart.Titles>
                <chart:Title FontSize="16" Text="部分省平均薪资"/>
            </chart:Chart.Titles>
            <chart:Chart.AxesY>
                <chart:Axis Suffix="元"/>
            </chart:Chart.AxesY>
            <chart:Chart.Series>
                <chart:DataSeries DataSource="{Binding WargeList,UpdateSourceTrigger=PropertyChanged}" LegendText="非城镇收入" RenderAs="Doughnut">
                    <chart:DataSeries.DataMappings>
                        <chart:DataMapping MemberName="AxisXLabel" Path="CityName"/>
                        <chart:DataMapping MemberName="YValue" Path="NpoWage"/>
                        <chart:DataMapping MemberName="Tag" Path="CityName"/>
                    </chart:DataSeries.DataMappings>
                </chart:DataSeries>
                <chart:DataSeries DataSource="{Binding WargeList,UpdateSourceTrigger=PropertyChanged}" LegendText="城镇收入" RenderAs="Doughnut">
                    <chart:DataSeries.DataMappings>
                        <chart:DataMapping MemberName="AxisXLabel" Path="CityName"/>
                        <chart:DataMapping MemberName="YValue" Path="PoWage"/>
                        <chart:DataMapping MemberName="Tag" Path="CityName"/>
                    </chart:DataSeries.DataMappings>
                </chart:DataSeries>
            </chart:Chart.Series>
        </chart:Chart>
    </Grid>
复制代码

只需要将相关的数据绑定到对应的字段上,剩下的就交给程序自己吧。

代码

 

posted @   眾尋  阅读(1786)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示
主题色彩