- 浏览: 544256 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (230)
- java (87)
- c/c++/c# (39)
- ASP.net MVC (4)
- eclipse/visual studio (3)
- tomcat/weblogic/jetty (13)
- linux/unix/windows (20)
- html/javascript/jquery/kendo/bootstrap/layui/vue/react (31)
- hibernate/struts/spring/mybatis/springboot (21)
- lucene/solr/ELK (2)
- shiro (0)
- oracle/sqlserver/mysql/postgresql (23)
- shell/python/ruby (6)
- android (0)
- maven/ant (1)
- freemarker/thymeleaf/velocity (1)
- open source project (41)
- cache/memcached/redis (0)
- nosql/hadoop/hbase/mongodb (0)
- system architecture/dubbo/zookeeper (0)
- software testing (0)
- system optimization (0)
- system security (0)
- tcp/udp/http (2)
- roller/wordpress (2)
- 工具收藏 (8)
- 文摘 (4)
- 生活 (0)
最新评论
-
coconut_zhang:
这个demo 非常完整了,是指下面说的那个html 模版,模版 ...
flying sauser, thymeleaf实现PDF文件下载 -
a93456:
你好,你有完整的demo吗? String template这 ...
flying sauser, thymeleaf实现PDF文件下载 -
yujiaao:
fn 函数循环是没有必要的啊,可以改成
protecte ...
Java 笛卡尔积算法的简单实现 -
安静听歌:
设置了.setUseTemporaryFileDuringWr ...
使用jxl导出大数据量EXCEL时内存溢出的解决办法 -
q280499693:
写的很详细,但是我现在想知道他们是怎么定位log4j.prop ...
关于SLF4J结合Log4j使用时日志输出与指定的log4j.properties不同
在我们编写程序的时候,有时候是要做一些统计的,为了达到一目了然的效果,饼状图,曲线图,柱状图都是很好的表现统计的直观形式。这个时候,ZedGraph控件给我们带来了极大的方便。
1.下载ZedGraph.dll
2.在项目中引用这个控件 (: 首先,在项目解决方案里添加,然后在工具箱中点击右键,选择项,COM,浏览,打开,我们就 会在工具箱的最下方发现这个控件了,确定。然后就可以在一个WINFORM中直接加入这个控件(在FORM上就出现了了图 了),具体的统计数据我们是在其添加X,Y坐标时候处理的。如:
double Y=(double)(Convert.ToDouble(tem1[i]));
double X=(double)i;
temlist.Add(X,Y);
//这里,是已经定义了GraphPane,PointPairList
gridview结合Zedgraph使用用法
http://www.cnblogs.com/levin9/articles/859476.html
ZedGraph类库介绍
http://blog.csdn.net/tjvictor/category/257827.aspx
介绍和简单的操作手册:http://www.codeproject.com/csharp/zedgraph.asp
代码例子:http://zedgraph.org/wiki/index.php?title=Sample_Graphs
整体介绍:http://zedgraph.org/wiki/index.php?title=Main_Page
操作手册(官网):http://zedgraph.org/wiki/index.php?title=How_Do_I%3F
中文网站:(这个不好,是在线翻译过来的,看着比较累)
http://202.165.104.75/babelfish/translate_url_content?lp=en_zh&trurl=http%3a%2f%2fzedgraph.org%2fwiki
还有这个,使用帮助:http://www.codeproject.com/KB/graphics/zedgraph.aspx
附:在vs中使用ZedGraph控件的一些记录(转)
几个注意点:
图片的保存路径设置:RenderedImagePath 属性中设置,程序对该文件夹应该是有写和修改权限的
图片的输出格式:OutputFormat 属性中设置,Png 的推荐,比较清晰。
Chart
ChartBorder
图表区域的边框设置
ChartFill
图表区域的背景填充
Legend
图表的注释标签显示设置项目,一组数据对应一种颜色的注释
IsHStack
当有多个显示项的时候设置 Y 轴数据是叠加的还是分开的
Xaxis
图表区域的 X 轴相关信息设置
AxisColor
坐标轴颜色
Cross
坐标的原点,可以设置坐标的偏移程度
CrossAuto
原点自动设置:True 的话 Cross 的设置就无效了。
FontSpec
X 轴标题字体相关信息
Angle
X 轴标题字体显示时候的角度,0为水平 90为垂直
Fill
X 轴标题字体填充信息
ColorOpacity
透明度
IsScaled
设置 X 轴标题字体显示大小是否根据图的比例放大缩小
RangeMax
填充时候的最大倾斜度(有过渡色,没试过)
RangeMin
填充时候的最小倾斜度(有过渡色,没试过)
StringAlignment
X 轴标题字体排列(不清楚,没试过)
IsOmitMag
是否显示指数幂(10次方,没试过,似乎与 IsUseTenPower 有关系)
IsPreventLabelOverlap
坐标值显示是否允许重叠,如果False的话,控件会根据坐标值长度自动消除部分坐标值的显示状态
IsShowTitle
X 轴标题是否显示
IsTicsBetweenLabels
两个坐标值之间是否自动显示分隔标志
IsUseTenPower
是否使用10次幂指数
IsZeroLine
当数据为0时候是否显示(在饼状图显示的时候有用)
IsVisible
是否显示 X 轴
MajorGrid
大跨度的 X 轴表格虚线线显示信息
DashOff
虚线中孔间距
DashOn
虚线单位长度
MajorTic
大跨度的 X 轴刻度信息
IsInside
在 Chart 内部是否显示
IsOutSide
在 Chart 外部是否显示
IsOpposite
在对面的轴上是否显示
MinorGrid
小跨度的 X 轴表格虚线显示信息
MinorTic
小跨度的 x 轴刻度信息
MinSpace
刻度和轴之间的距离(没试过)
Scale
刻度值的一些设定
IsReverse
X 轴的刻度值从高到低还是从低到高
MajorStep
大刻度步长
MajorStepAuto
是否自动设置大刻度步长
MajorUnit
大刻度步长单位
Max
刻度最大值
MaxAuto
根据输入数据自动设置刻度最大值
Min
刻度最小值
MinAuto
根据输入数据自动设置刻度最小值
MinGrace
不清楚,没试过
MinorStep
小刻度步长
MinorStepAuto
是否自动设置小刻度步长
MinorUnit
小刻度单位
Type
数据显示方式
Liner
直接现实(自动)
Date
按日期方式显示
Log
按指数幂方式显示
Ordinal
顺序显示
Y2Axis
第二个 Y 轴坐标信息显示(具体设置看 X 轴)
Yaxis
第一个 Y 轴坐标信息显示(具体设置看 X 轴)
BarBase
在生成柱状图的时候设置柱状是基于 X 轴还是其他轴
BarType
柱状的类型叠加或其他。
IsFontsScaled
图比例变化时候图表上的文字是否跟着自动缩放
IsIgnoreInitial
是否忽略初始值
IsIgnoreMissing
是否忽略缺省值
IsPenWidthScaled
图比例变化时候图表上的画笔的粗细是否跟着自动缩放
IsShowTitle
图表标题是否显示
PaneFill
Pane 的一些填充信息
BaseDimension
缩放比例基数(可以试试效果)
IsImageMap
不清楚干吗用的
AxisChaneged
是否允许自动绘图(没试过,一般都 true,动态绘图)
CacheDuration
Cache 保存时间0
OutputFormat
输出格式
RenderedImagePath
输出路径
RenderMode
输出模式,不太清楚一般都是 ImageTag,另一个输出的是乱码不是图片。对于图表而言,一般是三种表现形式:柱状图、饼状图和点线图。
//---------------------------------------------------代码-------------------------------------------------------------
/// <summary>
/// 得到统计数据
/// </summary>
private double[] getData(string queryDate, int baseStationId, int faultType)
{
double[] d=_objWebService.GetFaultNum(queryDate, baseStationId, faultType);
return d;
}
#region 折线图
/// <summary>
/// 故障统计折线图
/// </summary>
/// <param name="zg1"></param>
/// <param name="queryDate"></param>
/// <param name="baseStationId"></param>
/// <param name="faultType"></param>
private void CreateGraph1(ZedGraphControl zg1, string queryDate, int baseStationId, int faultType)
{
GraphPane myPane = zg1.GraphPane;
//清空绘制区
myPane.CurveList.Clear();
myPane.GraphObjList.Clear();
myPane.Title.Text = "故障统计折线图";
myPane.XAxis.Title.Text = "年份";
myPane.YAxis.Title.Text = "故障次数";
myPane.XAxis.IsVisible = true;
myPane.YAxis.IsVisible = true;
//myPane.XAxis.Type = ZedGraph.AxisType.Linear;
string[] labels = { "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月" };
double[] y = this.getData(queryDate, baseStationId, faultType);
LineItem myCurve = myPane.AddCurve(null, null, y, Color.Red, SymbolType.Diamond);
myCurve.Line.Fill = new Fill(Color.White, Color.LightSkyBlue, -45F);
myPane.XAxis.Scale.TextLabels = labels;
myPane.XAxis.Type = AxisType.Text;
myPane.YAxis.Scale.MajorStep = 10;
myPane.YAxis.Scale.Max = 100;
myPane.Chart.Fill = new Fill(Color.White, Color.FromArgb(255, 255, 166), 90F);
myPane.Fill = new Fill(Color.FromArgb(250, 250, 255));
zg1.AxisChange();
zg1.Refresh();
}
#endregion
#region 柱状图
/// <summary>
/// 柱状图
/// </summary>
/// <param name="zg1"></param>
/// <param name="queryDate"></param>
/// <param name="baseStationId"></param>
/// <param name="faultType"></param>
private void CreateGraph2(ZedGraphControl zg1, string queryDate, int baseStationId, int faultType)
{
GraphPane myPane = zg1.GraphPane;
//清空绘制区
myPane.CurveList.Clear();
myPane.GraphObjList.Clear();
myPane.Title.Text = "故障统计柱状图";
myPane.XAxis.Title.Text = "年份";
myPane.YAxis.Title.Text = "故障次数";
myPane.XAxis.IsVisible = true;
myPane.YAxis.IsVisible = true;
//myPane.XAxis.Type = ZedGraph.AxisType.Linear;
string[] labels = { "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月" };
double[] y = this.getData(queryDate, baseStationId, faultType);
BarItem myBar = myPane.AddBar(null, null, y, Color.Red);
myBar.Bar.Fill = new Fill(Color.Red, Color.White, Color.Red);
//myPane.XAxis.MajorTic.IsBetweenLabels = true;
myPane.XAxis.Scale.TextLabels = labels;
myPane.XAxis.Type = AxisType.Text;
myPane.YAxis.Scale.MajorStep = 10;
myPane.YAxis.Scale.Max = 100;
myPane.Chart.Fill = new Fill(Color.White,Color.FromArgb(255, 255, 166), 90F);
myPane.Fill = new Fill(Color.FromArgb(250, 250, 255));
zg1.AxisChange();
zg1.Refresh();
}
#endregion
#region 饼状图
private List<Color> defaultColors = new List<Color>();
private void InitDefaultColors()
{
defaultColors.Add(Color.Red);
defaultColors.Add(Color.Green);
defaultColors.Add(Color.Blue);
defaultColors.Add(Color.Yellow);
defaultColors.Add(Color.YellowGreen);
defaultColors.Add(Color.Brown);
defaultColors.Add(Color.Aqua);
defaultColors.Add(Color.SaddleBrown);
defaultColors.Add(Color.DarkSeaGreen);
defaultColors.Add(Color.Indigo);
defaultColors.Add(Color.SlateBlue);
defaultColors.Add(Color.SeaShell);
}
/// <summary>
/// pie graph
/// </summary>
/// <param name="zg1"></param>
/// <param name="queryDate"></param>
/// <param name="baseStationId"></param>
/// <param name="faultType"></param>
private void CreateGraph3(ZedGraphControl zg1, string queryDate, int baseStationId, int faultType)
{
InitDefaultColors();
GraphPane myPane = zg1.GraphPane;
//清空绘制区
myPane.CurveList.Clear();
myPane.GraphObjList.Clear();
myPane.Title.Text = "故障统计饼图";
myPane.XAxis.IsVisible = false;
myPane.YAxis.IsVisible = false;
myPane.Fill = new Fill(Color.Cornsilk);
myPane.Chart.Fill = new Fill(Color.Cornsilk);
myPane.Legend.Position = LegendPos.Right;
string[] labels = { "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月" };
double[] y = this.getData(queryDate, baseStationId, faultType);
for (int i = 0; i < labels.Length; i++)
{
PieItem segment = myPane.AddPieSlice(y[i], defaultColors[i], Color.White, 45f, 0, labels[i]);
segment.LabelType = PieLabelType.Name_Percent;
}
zg1.AxisChange();
zg1.Refresh();
}
#endregion
- zedgraph_dll_v515.zip (367.9 KB)
- 下载次数: 101
发表评论
-
CMPP短信网关客户端发送程序
2010-04-06 11:12 4796最近无聊,玩了玩ubuntu ... -
C#编程中的预处理指令
2010-01-13 11:22 1448在C#中, 虽然编译器没有单独的预处理器,但在处理预处理指令时 ... -
vs 打包winform程序步骤经验总结
2010-01-06 09:47 59341、 应用程序文件夹 : 在应用程序文件夹下新建一文件夹重名为 ... -
处理资源 'http://localhost/ws/Service.asmx' 时出错(iis,.netframework安装顺序造成的错)
2009-12-30 17:10 1966刚刚学习webservices,很多东西都不懂。写了个最简单的 ... -
图解在VS2005利用NUnit进行测试
2009-12-21 12:53 1604一、介绍NUnit是一款用于在.net环境进行单元测试的工具, ... -
如何编写单元测试用例(转载自CSDN)
2009-12-17 17:01 3217一、 单元测试的概念 ... -
NUnit2.0详细使用方法
2009-12-17 17:00 11085 .测试生命周期合约 如果记得test case的定义,其中 ... -
NUnit2.0详细使用方法
2009-12-17 16:58 12321、初识NUnitNUnit是一个开源单元测试框架,它提高一套 ... -
在.NET环境中使用单元测试工具Nunit
2009-12-17 16:56 1095简介编写单元测试是一 ... -
.NET命名空间使用介绍
2009-12-17 11:29 1768在ASP.NET中,.NET Framework为我们 ... -
一种清晰而又简单通用的分页算法
2009-12-17 10:03 6146分页,是WEB开发中面对的最常见的编程,实现方法多种多样。我也 ... -
C#数据结构-双向链表
2009-12-17 09:54 1994在结点中设两个引用域,一个保存直接前驱结点的地址,叫prev, ... -
读书笔记c#高级编程 委托和事件
2009-12-17 09:49 1131在C#中使用一个类时,分两个阶段。首先需要定义这个类,即告诉编 ... -
深入理解C#中的委托和事件:委托的定义
2009-12-16 16:04 1682委托和事件在 .Net Framework中的应用非常广泛,然 ... -
C#委托和事件(简单示例)
2009-12-16 15:46 38711.委派的实现过程。 首先来看一下委派,委派其实就是方法的传 ... -
关于配置文件的读取
2009-11-18 16:52 2194在1.0/1.1版本,都流行的 ... -
C# WInForm 无框窗体移动
2009-11-12 13:56 2058调用APIusing System.Runtime.Inter ... -
在C# 中如何动态地添加控件
2009-09-09 11:05 3699通常在写程序的时候 ... -
ListBox相互移动
2009-08-14 17:33 1468using System;using System.Colle ... -
TreeView-demo
2009-08-14 17:22 1355using System;using System.Co ...
相关推荐
### ZedGraph控件使用样例 #### 一、概述 ZedGraph 是一款非常强大的图形绘制工具,广泛应用于各种需要展示数据趋势的应用程序中。它支持多种编程语言(如 C# 和 VB.NET),并且提供了丰富的自定义选项,使得...
网上翻到的,不错的,简化ZedGraph操作的用户控件,非常方便直观 选ZedGraph的另一个主要目的是它的开源代码有.NET2.0的版本, ASP.NET图表控件ZedGraph支持折线图、柱状图、饼图。 ZedGraph封装起来,作为一个专门的...
而ZGControlTestVB可能是配套的示例或测试项目,帮助用户了解如何在Visual Basic.NET环境中使用ZedGraph控件。 ZedGraph控件的核心功能包括: 1. **多图表支持**:ZedGraph可以同时在一个窗口中显示多个图表,每个...
ZedGraph控件详细使用方法 详细描述开源控件ZedGraph使用过程
本教程将深入探讨ZedGraph控件的各项属性及其基本用法,帮助开发者更好地理解和应用这个工具。 1. **ZedGraph控件介绍** ZedGraph控件提供了一种简单的方法来绘制高质量的2D图表。它包括多种图表类型,支持自定义...
通过使用ZedGraph,开发者可以自定义颜色、线条样式、字体、标签、图例等元素,以满足特定的显示需求。此外,它还支持实时数据更新,这对于展示动态变化的数据尤为有用。例如,在金融分析或者科学模拟中,实时更新的...
### ZedGraph控件属性及基础教程详解 #### 一、概述 ZedGraph是一款功能强大...通过以上步骤,您可以快速掌握如何使用ZedGraph控件来创建和定制图表。在接下来的教程中,我们将继续深入探讨更多高级特性和实战技巧。
总的来说,ZedGraph控件源代码为.NET开发者提供了一个强大的工具,不仅可以直接使用,还可以作为学习图形绘制和控件开发的宝贵资源。通过深入研究,我们可以更好地理解和利用这个库,提升我们的应用的数据可视化能力...
下面我们将深入探讨如何使用ZedGraph控件进行画线、画点以及画图。 首先,为了开始使用ZedGraph,你需要在你的项目中引用它的DLL文件。这通常可以通过NuGet包管理器完成,或者直接将ZedGraph源代码添加到项目中。 ...
- `ZedGraph例子.rar`包含了大量的示例项目,帮助开发者了解如何使用ZedGraph控件,快速上手开发。 7. **扩展性**: - 开发者可以根据`zedgraph图形控件源代码`进行二次开发,增加新的功能或者调整现有功能,满足...
首先,要使用ZedGraph控件,你需要在项目中引入它。这通常涉及到在解决方案资源管理器中右键点击项目,选择“添加引用”,然后在“浏览”选项卡中找到ZedGraph库的DLL文件。在ASP.NET环境中,你还需要在网页的头部...
利用C#在.Net Framework框架上开发图表时,可以利用ZedGraph控件开发,但是需要自行安装此控件,本资源就是用于安装zedgraph控件的dll文件。ZedGraph 是一个开源的.NET图表类库, 全部代码都是用C#开发的。它可以...
### 使用ZedGraph控件绘制统计分析图 #### 概述 ZedGraph是一个功能强大的图表绘制库,广泛应用于.NET应用程序中的数据可视化处理。本文档将详细介绍如何利用ZedGraph控件来绘制统计分析图,并提供了详细的步骤以及...
在这个实例中,我们关注的是如何利用ZedGraph控件来绘制柱形图。 柱形图是一种常用的数据可视化方式,它通过竖直的条形长度来表示数据的大小,便于比较不同类别的数值。在商业智能和数据分析中,柱形图常用来展示...
ZedGraph控件是一款在.NET平台上广泛使用的开源图形绘制组件,尤其适合于开发需要展示数据图表的Windows Forms或Web Forms应用程序。它提供了丰富的图形类型,包括曲线图、柱状图、饼状图以及多种组合图,能够帮助...
使用ZedGraph源代码对ZedGraph控件右键菜单汉化
在这个实例中,我们将主要探讨如何使用zedGraph控件来绘制曲线并实现截图功能。 首先,你需要在你的C#项目中引入zedGraph库。可以通过NuGet包管理器安装,或者直接将zedGraph.dll文件添加到项目的引用中。zedGraph...
标题中的"zedgraph控件(两个)"指的是ZedGraph库的两个主要组件:ZedGraph.dll和ZedGraph.Web.dll。这两个DLL文件是ZedGraph库的核心部分,它们分别用于不同的开发环境和目的。 1. **ZedGraph.dll**: 这个组件是...
ZedGraph控件属性设置 ZedGraph是一个非常优秀的开源的作图控件 ZedGraph来源:http://sourceforge.net/project/showfiles.php?group_id=114675 ZedGraph相关例子资源:...
这个“ZedGraph控件及示例工程.zip”文件显然是一个包含ZedGraph控件不同版本及其使用示例的压缩包,旨在帮助开发者快速理解和应用ZedGraph来实现数据可视化。 首先,ZedGraph控件的核心功能是生成高质量的2D图表,...