Silverlight 使用Visifire Chart 展示统计图

visifire是一款基于WPF&silverlight的动画图表控件,支持数据绑定、数据钻取以及实时更新等功能特点。重要一点是能展现特别炫的效果。下面简单介绍一下 他的简单使用

首先 下载 Visifire 的dll 加载到工具箱中,会发现增加很多控件



拖放chart 到XAML 文件中 

<my:Chart  x:Name="mychart"   />

后台加载的代码如下

首先要创建数据源,在这里我要展示北京市各个区义工组织的个数,定义一个类,

 

  public class NameandCount
    {
        string name;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        int count;

        public int Count
        {
            get { return count; }
            set { count = value; }
        }
    }
然后 构造一个List<NameCount> 作为数据源 名字为 list

 Title title = new Title();
            title.Text = "义工组织活动地点个数分区统计";
            mychart.Titles.Add(title);


            //统计项


            DataSeries ds = new DataSeries();
            //图表类型类型
            ds.RenderAs = RenderAs.StackedColumn;
            //显示标注
            ds.LabelStyle = LabelStyles.OutSide;
            ds.LabelEnabled = true;
            //遍历添加统计结果
            foreach (NameandCount N in list)
            {
                ds.DataPoints.Add(new DataPoint() { AxisXLabel = N.Name, YValue =N.Count });
            }


            foreach(DataPoint dt in ds.DataPoints)
            {
                dt.MouseMove+=new EventHandler<MouseEventArgs>(dt_MouseMove);
            }
            mychart.Series.Add(ds);


Ok 看效果如何




其中ds.RenderAs = RenderAs.StackedColumn; 可以修改样式, 如下

ds.RenderAs = RenderAs.Bar


ds.RenderAs = RenderAs.Bar   mychart.View3D = true;


ds.RenderAs = RenderAs.StackedColumn   mychart.View3D = true;


 ds.RenderAs = RenderAs.Doughnut; mychart.View3D = true;


ds.RenderAs = RenderAs.Bubble;


ds.RenderAs = RenderAs.Pie;



 ds.RenderAs = RenderAs.Point;



此外还支持事件 当我鼠标移动到某一点是提示我点击的是哪一个记录 每一个记录叫 为一个DataPoint实例,通过点击的Sender可以获得

  

foreach(DataPoint dt in ds.DataPoints)
            {
                dt.MouseMove+=new EventHandler<MouseEventArgs>(dt_MouseMove);
            }


        void dt_MouseMove(object sender, MouseEventArgs e)
        {
           
           

            MessageBox.Show((sender as DataPoint).AxisXLabel);
        }

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值