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);
}