WPF 初学VisifireChart
2024-08-25 01:30:41
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>
只需要将相关的数据绑定到对应的字段上,剩下的就交给程序自己吧。
最新文章
- PL/SQL Developer记住用户名密码
- nodejs+sequelize操作mysql数据库
- Firemonkey 图片显示拉伸不变形
- 2016-2017 CT S03E05: Codeforces Trainings Season 3 Episode 5 (2016 Stanford Local Programming Contest, Extended) E
- Side by Side Assembly介绍--manifest文件的使用
- 使用gdb调试游戏服务器
- Node填坑教程——常用库
- macOS Sierra Version 10.12.6 环境下Tomcat的下载与安装以及InterlliJ IDEA 2017.2 环境下配置Tomcat 与创建Web项目
- SpringBoot学习笔记1
- 机器学习(Machine Learning)算法总结-K临近算法
- 基于Github&;Hexo的个人博客搭建过程
- javascript中var、let和const的区别
- 修改输入框placeholder的样式
- war的创建
- Classification with DeepLearning
- dubbo实现原理之SPI简介
- 移动端点击300ms延迟
- Chisel常用命令总结
- oracle_多字段统计(多count)
- MyBatis使用自定义TypeHandler转换类型的实现方法