引用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. <form> 表单提交 return 阻止内容为空事件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. centos7 安装 openvswitch

    1.安装依赖包:   yum -y install make gcc openssl-devel autoconf automake rpm-build redhat-rpm-config yum - ...

  3. 在VMware Workstation中安装Ubuntu Server 16.04.5图解教程

    最近要在Ubuntu中部署openstack,为了节省空间和内存,最终选择了Ubuntu服务器.看了很多前辈和大佬的安装教程,在这里记录一下我自己的Ubuntu Server 16.04.5的安装过程 ...

  4. MonoBehaviour.OnValidate

    [MonoBehaviour.OnValidate] This function is called when the script is loaded or a value is changed i ...

  5. Yosemite 给 iOS 录屏

    [Yosemite 给 iOS 录屏] Mac 升级到Yosemite后,支持iOS屏幕录制.把Mac和iPhone用数据线相连.打开QuickTime Player,新建一个影片. 从摄像头源中选择 ...

  6. 03-SSH综合案例:商城表关系分析

    1.2   设计页面: 静态页面: 1.3    数据库分析与设计: 一般是一个Java类就对应一个表,有哪些类?那看你有哪些实体啊?一般一个模块对应一个实体 有用户模块就会有用户的一个实体,就会有用 ...

  7. 2015年传智播客JavaEE 第168期就业班视频教程 02-ERP简介

    其实ERP描述的是管理一个企业的整体的所有的资源.ERP是帮你管整个企业的运行.那它是管哪一类企业呢?比如说帮光线传媒.ERP更多是用在生产制造企业,这是最好的,其次的就是这种销售型企业,二道贩子那种 ...

  8. 对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错。

    对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错.步骤如下: 右键新的工程---&g ...

  9. 简单拼接图像的tile_images和tile_images_offset算子

    有时候通常需要简单的拼图,不涉及图像融合之类的,仅仅是简单的平移将多张图拼接成一张图.tile_images和tile_images_offset就是用于简单拼图的2个算子. 谈到拼图,肯定有以下问题 ...

  10. Java 设计模式系列(七)桥接模式

    Java 设计模式系列(七)桥接模式 桥接模式(Bridge)是一种结构型设计模式.Bridge 模式基于类的最小设计原则,通过使用封装.聚合及继承等行为让不同的类承担不同的职责.它的主要特点是把抽象 ...