1.在实际项目开展中,往往会牵扯到需要绘制图表的情况。而Visifire是一个比较美观大方的第三方图表控件,本文会讲
述如何初步使用Visifire控件。
首先我们需要从Visifire的官方网站下载:http://www.visifire.com/,新建一个项目,引入SLVisifire.Charts.dll。在
MainPage.xaml.cs代码中添加代码:using Visifire.Charts;
准备工作做好了,此时我在这里直接编写了一个函数如下:
///
/// 创建一个图表
///
/// 表名字
/// 时间段的集合
/// 对应时间段集合的值
/// 本表在主Grid里面的ROW值
/// 本表在主Grid里面的column值
/// Y轴的后缀
/// 时间段间隔
/// 图表两点之间的间隔
/// 图表的X轴坐标按什么来分类,如时分秒
public void CreateChart(string tableName, List updateTime,
List value, int row, int column, string rihgtStr, TimeSpan
tspan, int chartInterval, IntervalTypes intervaltype)
{
// 创建一个图标
Chart chart = new Chart();
// 设置图标的宽度和高度
chart.Width = 500;
chart.Height = 400;
chart.ToolBarEnabled = true;
// 设置图标的属性
chart.ScrollingEnabled = false;
chart.View3D = true;
// 创建一个标题的对象
Title title = new Title();
// 设置标题的名称
title.Text = tableName;
title.Padding = new Thickness(0, 10, 5, 0);
// 向图标添加标题
chart.Titles.Add(title);
// 初始化一个新的Axis
Axis xAxis = new Axis();
// 设置axis的属性
//图表的X轴坐标按什么来分类,如时分秒
xAxis.IntervalType = intervaltype;
//图表中的X轴坐标间隔如2,3,20等,单位为xAxis.IntervalType设置的时分
秒。
xAxis.Interval = chartInterval;
//设置X轴的时间显示格式为7-10 11:20
xAxis.ValueFormatString = “hh:mm:ss”;
//给图标添加Axis
chart.AxesX.Add(xAxis);
Axis yAxis = new Axis();
//设置图标中Y轴的最小值永远为0
yAxis.AxisMinimum = 0;
//设置图表中Y轴的后缀
yAxis.Suffix = rihgtStr;
chart.AxesY.Add(yAxis);
for (Int32 j = 0; j < 1; j++)
{
// 创建一个新的数据线。
DataSeries dataSeries = new DataSeries();
// 设置数据线的格式。
dataSeries.RenderAs = RenderAs.Line;
dataSeries.XValueType = ChartValueTypes.DateTime;
// 设置数据点
DataPoint dataPoint;
for (int i = 0; i < updateTime.Count; i++)
{
// 创建一个数据点的实例。
dataPoint = new DataPoint();
// 设置X轴点
dataPoint.XValue = updateTime[i];
//设置Y轴点
dataPoint.YValue = double.Parse(value[i]);
通过此函数我们可以很方便的创建了一个Visifire图表,其创建的步骤那些我在这里不细说,大家直接看源码上的注释
就可以了。因为我使用的Visifire是免费的版本,所有会有水印,在使用的过程中可以创建一个白色背景的StackPanel
来遮盖住水印的位置。在这个函数执行的时候,还为每个DataPoint点加载了一个点击事件,处理当这些点被点击之后
触发的事件(在事件里面获取DataPoint的X轴,Y轴等,以便进行相关操作),其源码如下:
dataPoint.MarkerSize = 8;
dataPoint.Tag = tableName.Split(’(’)[0];
//设置数据点颜色
// dataPoint.Color = new SolidColorBrush(Colors.LightGray);
dataPoint.MouseLeftButtonDown += new
MouseButtonEventHandler(dataPoint_MouseLeftButtonDown);
//添加数据点
dataSeries.DataPoints.Add(dataPoint);
}
// 添加数据线到数据序列。
chart.Series.Add(dataSeries);
}
//将生产的图表增加到Grid,然后通过Grid添加到上层Grid.
Grid gr = new Grid();
gr.Children.Add(chart);
Grid.SetRow(gr, row);
Grid.SetColumn(gr, column);
gr.Margin = new Thickness(5);
gr.VerticalAlignment = VerticalAlignment.Top;
gr.HorizontalAlignment = HorizontalAlignment.Left;
//增加一个遮罩层到gr,将visifire的水印遮掉。
StackPanel sp = new StackPanel();
sp.Width = 160;
sp.Height = 18;
sp.Margin = new Thickness(0, 3, 6, 0);
sp.VerticalAlignment = VerticalAlignment.Top;
sp.HorizontalAlignment = HorizontalAlignment.Right;
sp.Background = new SolidColorBrush(Colors.White);
gr.Children.Add(sp);
LayoutRoot.Children.Add(gr);
}
最后我们模拟一个内存使用率的图标,设置了8个时间点的8个内存使用值的初始值。在MainPage.xaml.cs的主函数中
我们编写以下代码:
一个Visifire图表的组成如下图:
void dataPoint_MouseLeftButtonDown(object sender, MouseButtonEventArgs
e)
{
DataPoint dp = sender as DataPoint;
MessageBox.Show(dp.YValue.ToString());
}
public MainPage()
{
InitializeComponent();
//模拟的8个时间点
List DTimeList = new List()
{
new DateTime(2010,2,15,7,11,03),
new DateTime(2010,2,15,7,12,03),
new DateTime(2010,2,15,7,13,03),
new DateTime(2010,2,15,7,14,03),
new DateTime(2010,2,15,7,15,03),
new DateTime(2010,2,15,7,16,03),
new DateTime(2010,2,15,7,17,03),
new DateTime(2010,2,15,7,18,03)
};
//模拟的8个内存使用率值
List strList = new List() { “20”, “55”, “40”, “70”,
“57”, “12”, “49”, “60” };
//按照1分钟的间隔来显示X轴坐标之间的数字。每隔20秒为一个单位长度,Y轴值的
后缀为"%"
CreateChart(“内存使用率”, DTimeList, strList, 0, 0, “%”, new
TimeSpan(0,0,20) , 1, IntervalTypes.Minutes);
}


由上图我们可以看出一个Visifire图表由
(Title,ChartGrid,Ticks,PlotArea,TrendLind,ToolTip,AxisLabels,Axis,DataSeries,DataPoint,Legend)组成。每个部分
都是一个类,所以我们在使用Visifire过程中,如果有什么需要修改的地方,直接在后台创建图表的时候,修改相应的
类就可以了。

Visifire图表控件的使用相关推荐

  1. Silverlight实用窍门系列:14.Visifire图表控件的使用一(图表的创建和基础使用)【附带源码实例】...

    在实际项目开展中,往往会牵扯到需要绘制图表的情况.而Visifire是一个比较美观大方的第三方图表控件,本文会讲述如何初步使用Visifire控件. 首先我们需要从Visifire的官方网站下载:ht ...

  2. WPF Visifire图表控件使用基础

    https://www.cnblogs.com/wyuan/archive/2012/07/22/WPF.html 引言: 由于项目中需要使用Visifire所以自己就写了一些demo,大家一起共享! ...

  3. Visifire WPF 图表控件 破解

    可能用WPF生成过图表的开发人员都知道,WPF虽然本身的绘图能力强大,但如果每种图表都自己去实现一次的话可能工作量就大了, 尤其是在开发时间比较紧的情况下.这时候有必要借助一种专业的图表工具. Vis ...

  4. 推荐一个wpfsliverlight的图表控件

    M$在很久以前就对winform退出了一系列比较酷的图表控件,但wpf&sliverlight却一直没这待遇,今天发现了一个非常漂亮的开源的项目visifire,通过它可以轻松实现超酷的图表. ...

  5. 微软图表控件MsChart

    转自:http://tech.ddvip.com/2008-11/122640479791375.html 昨天在网上看到了微软发布了.NET 3.5框架下的图表控件,第一时间抓下来看了一下,发觉功能 ...

  6. 跨平台图表控件TeeChart使用教程:导入XML数据

    2019独角兽企业重金招聘Python工程师标准>>> TeeChart的最新版中包含了一个自动加载XML数据的新组件.这个组件的名字叫做TTeeXMLSource,用户可以在Tee ...

  7. 漂亮好用的ASP.NET图表控件 免费的

    绝对免费,绝对好用,中文支持绝对好,轻松生成漂亮的2D和3D图表. 这个控件是我找到的免费图表控件中非常好的一个,我一直在关注这个控件,虽然功能未必比得上商业的图表控件强大,但是绝对好用,绝对免费,他 ...

  8. labview波形图两个游标,LabVIEW数据可视化:使用波形图表控件逐点显示曲线的方法...

    LabVIEW平台中提供了强大的2D/3D数据的可视化控件,如波形图.波形图表.XY图.强度图.数字波形图.混合信号图.二维/三维图片及用于特殊用途的极坐标图.Smith图.雷达图控件等. 上篇文章: ...

  9. 微软图表控件MsChart使用说明[转]

    微软图表控件MsChart使用说明 建立一个.NET3.5的Web项目,像使用普通控件一样拖放到要使用的Web界面即可.初步研究了一下,整个图形控件主要由以下几个部份组成: 1.Annotations ...

最新文章

  1. 关于学习Python的一点学习总结(11->字典的应用)
  2. 详解python2 和 python3的区别
  3. 软件设计是决定软件性能的关键
  4. mysql end log pos_MySql binlog日志详解
  5. linux挂载硬盘 只读,mount: /dev/vdb 写保护,将以只读方式挂载
  6. The literal of int xxxxx is out of range
  7. Java项目转变为Java Web项目
  8. VMware虚拟机的联网(图)
  9. tcp状态转换--三次握手/四次挥手
  10. ROS-ROS中的坐标管理系统 TF
  11. Pulseaudio之同步/异步(十一)
  12. 通过Web页面获取基站位置(Web端,源码下载)
  13. ZeroMQ接口函数之 :zmq_proxy – 开始ZMQ内置代理
  14. 【职业】什么是架构师?
  15. 计算机键盘的英文都是什么意思啊,电脑键盘上所有英文的意思
  16. 程序员成为“备胎”的5年,我一直在等...(外包——字节跳动)
  17. SAP ABAP 调用 BAPI_GOODSMVT_CREATE 没有执行 MIGO/MB0A 相同检查的问题
  18. C#中的异步和多线程
  19. JavaWeb-----Ajax异步请求 json对象 服务器如何返回json数据 使用ajax完成一个案例
  20. 伦敦金走势技术指标的背离

热门文章

  1. 通配符证书配置Exchange2016 POP、IMAP加密模式
  2. hive 如何使用 group_concat
  3. DirectShow介绍和使用
  4. 数据库与Excel报表的动态生成
  5. 关于日期格式的书写及对应含义(便于查找)
  6. 腾讯-信鸽实现消息推送
  7. nessus更新插件经验
  8. C++ Primer 13-15
  9. STM8使用SPI通信需要注意的几个问题
  10. 江苏省高等学校计算机一级成绩查询,江苏计算机等级考试成绩查询入口