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>

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

代码

最新文章

  1. PL/SQL Developer记住用户名密码
  2. nodejs+sequelize操作mysql数据库
  3. Firemonkey 图片显示拉伸不变形
  4. 2016-2017 CT S03E05: Codeforces Trainings Season 3 Episode 5 (2016 Stanford Local Programming Contest, Extended) E
  5. Side by Side Assembly介绍--manifest文件的使用
  6. 使用gdb调试游戏服务器
  7. Node填坑教程——常用库
  8. macOS Sierra Version 10.12.6 环境下Tomcat的下载与安装以及InterlliJ IDEA 2017.2 环境下配置Tomcat 与创建Web项目
  9. SpringBoot学习笔记1
  10. 机器学习(Machine Learning)算法总结-K临近算法
  11. 基于Github&amp;Hexo的个人博客搭建过程
  12. javascript中var、let和const的区别
  13. 修改输入框placeholder的样式
  14. war的创建
  15. Classification with DeepLearning
  16. dubbo实现原理之SPI简介
  17. 移动端点击300ms延迟
  18. Chisel常用命令总结
  19. oracle_多字段统计(多count)
  20. MyBatis使用自定义TypeHandler转换类型的实现方法

热门文章

  1. ionic左滑删除
  2. JSTL核心标签库——重定向标签、URL处理标签、网页导入标签
  3. hashlib 简单的登录例子
  4. 在 Azure 中创建通用 VM 的托管映像
  5. SQL Server 如何设置数据库的默认初始大小和自动增长大小
  6. 关联与下钻:快速定位MySQL性能瓶颈的制胜手段
  7. 如何配置Linux的服务设置为自动启动或崩溃重新启动后
  8. Google搜索引擎
  9. 【项目 &#183; Wonderland】UML设计
  10. cJSON 使用详解