引用DLL:

WPFToolkit

WPFVisifire.Charts.dll

WPFVisifire.Gauges.dll

1、柱状图

代码:

public void BindChart1()
{
System.Threading.Tasks.Task.Factory.StartNew(() =>
{
try
{
List<string> colorList = new List<string>();
List<string> fjList = new List<string>(); ;
List<double> qyonList = new List<double>();
List<double> qyoutList = new List<double>();
int outNum = ;
int onNum = ;
int totalNum = ;
string errMsg = string.Empty;
bool result = false; result = HI.Get<ICameraService>().GetCameraOnline(out colorList, out fjList, out qyonList, out qyoutList, out outNum, out onNum, out totalNum, out errMsg); Dispatcher.Invoke(new Action(() =>
{
txtOnlineCamera.Text = onNum.ToString();
txtOutlineCamera.Text = outNum.ToString();
txtTotalCamera.Text = totalNum.ToString(); Chart chart = new Chart(); #region 样式
//样式
chart.ThemeEnabled = true;
chart.Theme = "Theme2";
chart.BorderThickness = new Thickness();
chart.Background = new SolidColorBrush(Colors.Transparent);
chart.ShadowEnabled = false;
chart.View3D = false;
chart.AnimationEnabled = false; PlotArea pa = new PlotArea();
pa.Background = new SolidColorBrush(Colors.Transparent);
pa.ShadowEnabled = false;
pa.BorderThickness = new Thickness();
chart.PlotArea = pa;
#endregion //绑定Chart
chart.Series.Clear();
chart.Titles.Clear(); chart.Width = this.chart1Grid.Width - ;
chart.Height = this.chart1Grid.Height - ; DataSeries dataSeries = new DataSeries();
DataPoint datapoint = null; #region 颜色
SolidColorBrush[] brushArr = new SolidColorBrush[];
brushArr[] = new SolidColorBrush(Color.FromRgb(, , ));
brushArr[] = new SolidColorBrush(Color.FromRgb(, , ));
brushArr[] = new SolidColorBrush(Color.FromRgb(, , ));
brushArr[] = new SolidColorBrush(Color.FromRgb(, , ));
brushArr[] = new SolidColorBrush(Color.FromRgb(, , ));
brushArr[] = new SolidColorBrush(Color.FromRgb(, , ));
brushArr[] = new SolidColorBrush(Color.FromRgb(, , ));
brushArr[] = new SolidColorBrush(Color.FromRgb(, , ));
#endregion #region 数据
for (int i = ; i < fjList.Count; i++)
{
int colorIndex = i % brushArr.Length;
datapoint = new DataPoint();
datapoint.AxisXLabel = fjList[i];
datapoint.YValue = qyonList[i];
datapoint.Color = brushArr[colorIndex];
datapoint.Tag = fjList[i];
datapoint.LabelEnabled = true;
datapoint.LabelStyle = LabelStyles.Inside;
datapoint.LabelFontColor = new SolidColorBrush(Colors.White);
//datapoint.MouseLeftButtonDown += new MouseButtonEventHandler(datapoint_MouseLeftButtonDown); //DataPoint被点击执行事件
dataSeries.DataPoints.Add(datapoint);
}
#endregion //绑定当鼠标放上去显示的信息
chart.Series.Add(dataSeries); #region 图表标题
//图表标题
Title title = new Title();
title.Text = "摄像头在线率";
title.FontColor = new SolidColorBrush(Colors.White);
chart.Titles.Add(title);
#endregion #region 坐标样式
AxisLabels yLabel = new AxisLabels();
yLabel.FontColor = new SolidColorBrush(Colors.White); //y轴刻度文本信息颜色 ChartGrid yGrid = new ChartGrid();// 设置y轴的横向刻度虚线
yGrid.Enabled = true;
yGrid.LineColor = new SolidColorBrush(Colors.White); Axis yAxis = new Axis();
yAxis.Enabled = true; //是否显示Y轴刻度、文本
yAxis.Grids.Add(yGrid);
yAxis.AxisMinimum = ; //y轴刻度最小值
yAxis.AxisMaximum = ; //y轴刻度最大值
yAxis.Suffix = "%"; //"给刻度添加后缀 如%";
yAxis.Interval = ; //设置y轴刻度的增量 -- 即2个刻度值之间的的间隔
yAxis.IntervalType = IntervalTypes.Number;
yAxis.AxisLabels = yLabel;
chart.AxesY.Add(yAxis); AxisLabels xLabel = new AxisLabels();
xLabel.FontColor = new SolidColorBrush(Colors.White); //x轴刻度文本信息颜色 ChartGrid xGrid = new ChartGrid();//设置x轴的纵向刻度虚线
xGrid.Enabled = false; Axis xAxis = new Axis();
xAxis.Enabled = true; //是否显示X轴刻度、文本
xAxis.AxisLabels = xLabel;
xAxis.Grids.Add(xGrid); chart.AxesX.Add(xAxis);
#endregion this.chart1Grid.Children.Clear();
this.chart1Grid.Children.Add(chart);
}));
}
catch
{ }
});
}

效果图:

2、堆积柱状图

代码:

public void PartolTaskChart()
{
System.Threading.Tasks.Task.Factory.StartNew(() =>
{
try
{
#region 数据
List<Dictionary<string, int>> lsDic = HI.Get<SunCreate.CombatPlatform.Contract.IVideoPatrol>().GetTackRecordAnalysisMainPage(DateTime.Now.AddYears(-), DateTime.Now.AddDays(), "");
#endregion Dispatcher.Invoke(new Action(() =>
{
Chart chart = new Chart(); #region 样式
//样式
chart.ThemeEnabled = true;
chart.Theme = "Theme2";
chart.Background = new SolidColorBrush(Colors.Transparent);
chart.BorderThickness = new Thickness();
chart.AnimationEnabled = false;
chart.View3D = false; PlotArea pa = new PlotArea();
pa.Background = new SolidColorBrush(Colors.Transparent);
pa.ShadowEnabled = false;
pa.BorderThickness = new Thickness();
chart.PlotArea = pa;
#endregion #region 颜色
SolidColorBrush[] brushArr = new SolidColorBrush[];
brushArr[] = new SolidColorBrush(Color.FromRgb(, , ));
brushArr[] = new SolidColorBrush(Color.FromRgb(, , ));
brushArr[] = new SolidColorBrush(Color.FromRgb(, , ));
brushArr[] = new SolidColorBrush(Color.FromRgb(, , ));
brushArr[] = new SolidColorBrush(Color.FromRgb(, , ));
brushArr[] = new SolidColorBrush(Color.FromRgb(, , ));
brushArr[] = new SolidColorBrush(Color.FromRgb(, , ));
brushArr[] = new SolidColorBrush(Color.FromRgb(, , ));
#endregion #region 数据
#region 巡查次数
DataSeries dataSeries = new DataSeries();
dataSeries.RenderAs = RenderAs.StackedColumn;
dataSeries.ShowInLegend = false;
dataSeries.Color = brushArr[]; foreach (string key in lsDic[].Keys)
{
//设置点
int val = lsDic[][key];
DataPoint point = new DataPoint();
point.ToolTipText = "巡查次数:" + val;
point.YValue = val;
point.AxisXLabel = key.Replace("合肥市公安局", string.Empty);
point.Tag = key.Replace("合肥市公安局", string.Empty);
dataSeries.DataPoints.Add(point);
} chart.Series.Add(dataSeries);
#endregion #region 截图张数
dataSeries = new DataSeries();
dataSeries.RenderAs = RenderAs.StackedColumn;
dataSeries.ShowInLegend = false;
dataSeries.Color = brushArr[]; foreach (string key in lsDic[].Keys)
{
//设置点
int val = lsDic[][key];
DataPoint point = new DataPoint();
point.ToolTipText = "截图张数:" + val;
point.YValue = val;
point.AxisXLabel = key.Replace("合肥市公安局", string.Empty);
point.Tag = key.Replace("合肥市公安局", string.Empty);
dataSeries.DataPoints.Add(point);
} chart.Series.Add(dataSeries);
#endregion #region 价值图片
dataSeries = new DataSeries();
dataSeries.RenderAs = RenderAs.StackedColumn;
dataSeries.ShowInLegend = false;
dataSeries.Color = brushArr[]; foreach (string key in lsDic[].Keys)
{
//设置点
int val = lsDic[][key];
DataPoint point = new DataPoint();
point.ToolTipText = "价值图片:" + val;
point.YValue = val;
point.AxisXLabel = key.Replace("合肥市公安局", string.Empty);
point.Tag = key.Replace("合肥市公安局", string.Empty);
dataSeries.DataPoints.Add(point);
} chart.Series.Add(dataSeries);
#endregion
#endregion #region 图表标题
//图表标题
Title title = new Title();
title.Text = "巡查执行情况";
title.FontColor = new SolidColorBrush(Colors.White);
chart.Titles.Add(title);
#endregion #region 坐标样式
AxisLabels yLabel = new AxisLabels();
yLabel.FontColor = new SolidColorBrush(Colors.White); //y轴刻度文本信息颜色 ChartGrid yGrid = new ChartGrid();// 设置y轴的横向刻度虚线
yGrid.Enabled = true;
yGrid.LineColor = new SolidColorBrush(Colors.White); Axis yAxis = new Axis();
yAxis.Enabled = true; //是否显示Y轴刻度、文本
yAxis.Grids.Add(yGrid);
yAxis.AxisMinimum = ; //y轴刻度最小值
//yAxis.AxisMaximum = 100; //y轴刻度最大值
//yAxis.Suffix = "%"; //"给刻度添加后缀 如%";
//yAxis.Interval = 20; //设置y轴刻度的增量 -- 即2个刻度值之间的的间隔
yAxis.IntervalType = IntervalTypes.Number;
yAxis.AxisLabels = yLabel;
chart.AxesY.Add(yAxis); AxisLabels xLabel = new AxisLabels();
xLabel.FontColor = new SolidColorBrush(Colors.White); //x轴刻度文本信息颜色 ChartGrid xGrid = new ChartGrid();//设置x轴的纵向刻度虚线
xGrid.Enabled = false; Axis xAxis = new Axis();
xAxis.Enabled = true; //是否显示X轴刻度、文本
xAxis.AxisLabels = xLabel;
xAxis.Grids.Add(xGrid); chart.AxesX.Add(xAxis);
#endregion this.gridPartolTaskChart.Children.Clear();
this.gridPartolTaskChart.Children.Add(chart);
}));
}
catch
{ }
});
}

效果图:

3、雷达图

代码:

public void ShowRadar()
{
try
{
Chart chart = new Chart(); //样式
chart.ThemeEnabled = true;
chart.Theme = "Theme2";
chart.Background = new SolidColorBrush(Colors.Transparent);
chart.BorderThickness = new Thickness(); PlotArea pa = new PlotArea();
pa.Background = new SolidColorBrush(Colors.Transparent);
pa.ShadowEnabled = false;
pa.BorderThickness = new Thickness();
chart.PlotArea = pa; #region 颜色
SolidColorBrush[] brushArr = new SolidColorBrush[];
brushArr[] = new SolidColorBrush(Color.FromArgb(, , , ));
brushArr[] = new SolidColorBrush(Color.FromArgb(, , , ));
brushArr[] = new SolidColorBrush(Color.FromArgb(, , , ));
brushArr[] = new SolidColorBrush(Color.FromArgb(, , , ));
brushArr[] = new SolidColorBrush(Color.FromArgb(, , , ));
brushArr[] = new SolidColorBrush(Color.FromArgb(, , , ));
brushArr[] = new SolidColorBrush(Color.FromArgb(, , , ));
brushArr[] = new SolidColorBrush(Color.FromArgb(, , , ));
#endregion #region 数据
//设置类型为雷达图
DataSeries dataSeries = new DataSeries();
dataSeries.RenderAs = RenderAs.Radar;
dataSeries.ShowInLegend = false;
dataSeries.Color = brushArr[]; //设置点
DataPoint point = new DataPoint();
point.YValue = ;
point.AxisXLabel = "高新分局";
point.Tag = "高新分局";
dataSeries.DataPoints.Add(point); point = new DataPoint();
point.YValue = ;
point.AxisXLabel = "包河分局";
point.Tag = "包河分局";
dataSeries.DataPoints.Add(point); point = new DataPoint();
point.YValue = ;
point.AxisXLabel = "新站分局";
point.Tag = "新站分局";
dataSeries.DataPoints.Add(point); point = new DataPoint();
point.YValue = ;
point.AxisXLabel = "经开分局";
point.Tag = "经开分局";
dataSeries.DataPoints.Add(point); point = new DataPoint();
point.YValue = ;
point.AxisXLabel = "蜀山分局";
point.Tag = "蜀山分局";
dataSeries.DataPoints.Add(point); chart.Series.Add(dataSeries);
#endregion #region 数据
//设置类型为雷达图
dataSeries = new DataSeries();
dataSeries.RenderAs = RenderAs.Radar;
dataSeries.ShowInLegend = false;
dataSeries.Color = brushArr[]; //设置点
point = new DataPoint();
point.YValue = ;
dataSeries.DataPoints.Add(point); point = new DataPoint();
point.YValue = ;
dataSeries.DataPoints.Add(point); point = new DataPoint();
point.YValue = ;
dataSeries.DataPoints.Add(point); point = new DataPoint();
point.YValue = ;
dataSeries.DataPoints.Add(point); point = new DataPoint();
point.YValue = ;
dataSeries.DataPoints.Add(point); chart.Series.Add(dataSeries);
#endregion #region 数据
//设置类型为雷达图
dataSeries = new DataSeries();
dataSeries.RenderAs = RenderAs.Radar;
dataSeries.ShowInLegend = false;
dataSeries.Color = brushArr[]; //设置点
point = new DataPoint();
point.YValue = ;
dataSeries.DataPoints.Add(point); point = new DataPoint();
point.YValue = ;
dataSeries.DataPoints.Add(point); point = new DataPoint();
point.YValue = ;
dataSeries.DataPoints.Add(point); point = new DataPoint();
point.YValue = ;
dataSeries.DataPoints.Add(point); point = new DataPoint();
point.YValue = ;
dataSeries.DataPoints.Add(point); chart.Series.Add(dataSeries);
#endregion AxisLabels yLabel = new AxisLabels();
yLabel.FontColor = new SolidColorBrush(Colors.Transparent); //y轴刻度文本信息颜色 ChartGrid yGrid = new ChartGrid();// 设置y轴的横向刻度虚线
yGrid.Enabled = true;
yGrid.LineColor = new SolidColorBrush(Colors.White); Axis yAxis = new Axis();
yAxis.Enabled = true; //是否显示Y轴刻度、文本
yAxis.Grids.Add(yGrid);
yAxis.AxisMinimum = ; //y轴刻度最小值
yAxis.AxisMaximum = ; //y轴刻度最大值
//yAxis.Suffix = "%"; //"给刻度添加后缀 如%";
yAxis.Interval = ; //设置y轴刻度的增量 -- 即2个刻度值之间的的间隔
yAxis.IntervalType = IntervalTypes.Number;
yAxis.AxisLabels = yLabel;
chart.AxesY.Add(yAxis); AxisLabels xLabel = new AxisLabels();
xLabel.FontColor = new SolidColorBrush(Colors.White); //x轴刻度文本信息颜色
xLabel.Background = new SolidColorBrush(Colors.Transparent); ChartGrid xGrid = new ChartGrid();//设置x轴的纵向刻度虚线
xGrid.Enabled = false; Axis xAxis = new Axis();
xAxis.Enabled = true; //是否显示X轴刻度、文本
xAxis.AxisLabels = xLabel;
xAxis.Grids.Add(xGrid); chart.AxesX.Add(xAxis); this.radarGrid.Children.Add(chart);
}
catch { }
}

效果图:

补充:

datapoint.LightingEnabled = false; // 照明功能
datapoint.SnapsToDevicePixels = true; // 像素对齐

Visifire图表的更多相关文章

  1. WPF Visifire 图表控件

    Visifire WPF 图表控件 破解 可能用WPF生成过图表的开发人员都知道,WPF虽然本身的绘图能力强大,但如果每种图表都自己去实现一次的话可能工作量就大了, 尤其是在开发时间比较紧的情况下.这 ...

  2. visifire 图表双坐标轴 silverlight

    public void CreateChart(Grid oGrid, ObservableCollection<ListItem> lBaseOilBar)        {       ...

  3. visifire 图表属性样式设置说明,字体,阴影设置

  4. asp.net中绘制大数据量的可交互的图表

    在一个asp.net项目中要用到能绘制大数据量信息的图表,并且是可交互的(放大.缩小.导出.打印.实时数据),能够绘制多种图形. 为此进行了多方调查预研工作,预研过微软的MsChart图表组件.基于j ...

  5. 一个WPF小项目小结

    一:缘起 老板有做PC桌面客户端的需求,做的是能耗的计算和评估,要算能耗,就有很多环节,最后对这些环节数据进行一些简单计算.我想要是做的话就用比较熟的wpf,就去聊了下,对方给了1张比较复杂的Exce ...

  6. silverlight visifire控件图表制作——silverlight 后台方法页面事件

    1.返回事件 (1.返回silverlight页面,2.返回web页面) private void button_ClickBack(object sender, RoutedEventArgs e) ...

  7. silverlight visifire控件图表制作——silverlight 后台方法ControlChart.xaml.cs

    一.构造方法ControlChart 1.前台页面控件赋值 //时间下拉框赋值,下拉框赋选定值                for (int ii = DateTime.Today.Year; ii ...

  8. 使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示

    原文:使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示 首先来看一看实现的效果: PS:原始的程序中更新曲线数据时添加了过渡的效果,具体可 ...

  9. Silverlight 图表控件 Visifire 常用属性

    主要介绍 Visifire 常用属性的设置,用来生成不同样式的图例 设置Chart的属 //设置title的值 // 创建一个标题的对象 Title title = new Title(); // 设 ...

随机推荐

  1. C++ - 容器概述

    一 迭代器iterator 5种类别 常用的迭代器 常用的迭代器 二 分配算符Allocators 三 容器简介 STL标准容器类简介 标准容器类 说明 顺序性容器 关联容器 容器适配器 所有标准库共 ...

  2. Android 包信息工具类

    /** AndroidInfoUtils:安卓游戏包信息工具类**/ 1 public class AndroidInfoUtils { @SuppressWarnings("uncheck ...

  3. dsm winscp 获得 root 权限修改上传文件

    使用DSM开了ssh只可以用admin登陆scp没有权限上传文件.可以用以下方法. ssh 登陆 dsm sudo -i  取得root权限 修改 /etc/sudoers 文件中 %administ ...

  4. Exception in thread "main" java.lang.UnsatisfiedLinkError:

    [oracle@landor database]$ ./runInstaller 正在启动 Oracle Universal Installer... 检查临时空间: 必须大于 MB. 实际为 MB ...

  5. linux之badblocks命令

    简介 该命令用来检测硬盘坏道.硬盘坏道问题,如忽视,会随着使用而扩大面积,严重损坏硬盘.一般采用检测坏道,进而屏蔽重分区的方式复用硬盘. 语法 badblock(选项)(参数) -b<区块大小& ...

  6. 数论知识总结——史诗大作(这是一个flag)

    1.快速幂 计算a^b的快速算法,例如,3^5,我们把5写成二进制101,3^5=3^1*1+3^2*2+3^4*1 ll fast(ll a,ll b){ll ans=;,a=mul(a,a)))a ...

  7. ios7 导航栏适配

    ios ui开发过程中,经常会使用到导航栏,默认的样式比较单一,所以经常需要修改导航栏的样式 ios4: - (void)drawRect:(CGRect)rect { UIImage *image ...

  8. 大楼轮廓 · building-outline

    [抄题]: 水平面上有 N 座大楼,每座大楼都是矩阵的形状,可以用一个三元组表示 (start, end, height),分别代表其在x轴上的起点,终点和高度.大楼之间从远处看可能会重叠,求出 N  ...

  9. [z]hadoop生态系统

    http://developer.51cto.com/art/201311/415639_all.htm

  10. sqlserver 开窗函数Over()的使用

    利用over(),将统计信息计算出来,然后直接筛选结果集 declare @t table(ProductID int,ProductName varchar(20),ProductType varc ...