当前位置:首页 > 计算机相关 > .net专区 > 正文内容

zedgraph

piikee14年前 (2010-02-28).net专区339
ZedGraph官方主页:http://zedgraph.org/wiki/index.php?title=Main_Page
ZedGraph下载地址:http://sourceforge.net/projects/zedgraph/files/
图片的保存路径设置:RenderedImagePath属性中设置,程序对该文件夹应该是有写和修改权限的
图片的输出格式:OutputFormat属性中设置,Png的推荐,比较清晰。
[separator]
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次幂指数
IsVisible                      是否显示X轴
IsZeroLine                   当数据为0时候是否显示(在饼状图显示的时候有用)
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轴)
GraphPane
BarBase                            在生成柱状图的时候设置柱状是基于X轴还是其他轴
BarType                            柱状的类型叠加或其他。
IsFontsScaled                    图比例变化时候图表上的文字是否跟着自动缩放
IsIgnoreInitial                    是否忽略初始值
IsIgnoreMissing                 是否忽略缺省值
IsPenWidthScaled              图比例变化时候图表上的画笔的粗细是否跟着自动缩放
IsShowTitle                       图表标题是否显示
PaneFill                             Pane的一些填充信息
MasterPane
BaseDimension                  缩放比例基数(可以试试效果)
数据                                       未测试过。不知道如何和数据库绑定
外观
IsImageMap                      不清楚干吗用的
行为
AxisChaneged                   是否允许自动绘图(没试过,一般都true,动态绘图)
CacheDuration                   Cache保存时间0
OutputFormat                   输出格式
RenderedImagePath           输出路径
RenderMode                      输出模式,不太清楚一般都是ImageTag,另一个输出的是乱码不是图片
对于图表而言,一般是三种表现形式:柱状图、饼状图和点线图。
newv.graph.GraphPane myPane = new GraphPane();
//定义绘制图表的大小
// 设置图表的说明文字
myPane.Title = "直方图";
// 设置横坐标的说明文字
myPane.XAxis.Title = "答题";
// 设置纵坐标的说明文字
myPane.YAxis.Title = "人数";
//设置基于X轴排列柱状图
myPane.BarBase = BarBase.X;
//y轴刻度显示为文本类型
myPane.XAxis.Type = AxisType.Text;
string[] machine ={ "xxx", "xxx40", "xxx0-60", "xxx70", "xxx0-80", "xxx0-90" };
double[] efficiency ={ 22, 13, 89, 19, 56, 7 };
double minNum = 0;
double maxNum = 0;
PointPairList lineList = new PointPairList();
PointPairList lineList2 = new PointPairList();
double x = 0;
double y = 0;
int a = 2;
int b = 89;
for (int i = 0; i < machine.Length; i++)
{
if (maxNum < efficiency[i])
maxNum = efficiency[i];
if (i == 0) minNum = efficiency[i];
else
{
if (minNum > efficiency[i])
minNum = efficiency[i];
}
x = i;
y = efficiency[i];
lineList.Add(x, y);
if (i == a)
lineList2.Add(a, b);
else
lineList2.Add(0, 0);
}
maxNum = maxNum + 10;
if (minNum / 10 > 1) minNum = (Math.Ceiling(minNum / 10) - 1) * 10;
else minNum = 0;
//设置X轴显示“柱子”的起始和终止位置
myPane.XAxis.Max = 7;
myPane.XAxis.Min = 0;
myPane.YAxis.Min = minNum;
myPane.YAxis.Max = maxNum;
myPane.XAxis.TextLabels = machine;
myPane.XAxis.StepAuto = false;
myPane.XAxis.ScaleFontSpec.Angle=-70;
//BarItem myCurve = myPane.AddBar("", null, efficiency, Color.Green);
LineItem myCurve = myPane.AddCurve("曲线", lineList, Color.Blue, SymbolType.Circle);
myCurve.Line.IsSmooth = true;
LineItem myCurve2 = myPane.AddCurve("", lineList2, Color.Red, SymbolType.Circle);
myCurve2.Line.IsVisible=false;
myPane.FontSpec.Angle = 90;
//BarItem myCurve3 = myPane.AddCurve((.AddBar("", Convert.ToDouble(3),Convert.ToDouble(89), Color.Red);
//System.Drawing.Graphics g=myPane.;
// 在数据变化时绘制图形
myPane.AxisChange(Graphics.FromImage(myPane.Image));
//myPane.AxisChange(g);
//zgc.AxisChange();
string graphPath = "C:/Documents and Settings/Administrator/My Documents/Visual Studio 2008/Projects/WindowsApplication1/WindowsApplication1/filePath/" + "AnalysisGraph.bmp";
myPane.Image.Save(graphPath,System.Drawing.Imaging.ImageFormat.Png);

扫描二维码推送至手机访问。

版权声明:本文由萍客小居[www.piikee.net]发布,如需转载请注明出处。

本文链接:https://www.piikee.net/568.html

分享给朋友:

相关文章

SQL卸载重装遇到实例名重复,实例名删不掉的问题

Sql2005卸载后,在重新安时会碰到以前安装的实例名还在的问题,然后如果自定义实例名一样的话会报错说实例名重复。那么怎样删除以前的那些实例名呢?首先,确认你把所有SQL相关程序都卸载了。然后,删除C:\Program Files\Micr...

asp.net实现动态显示当前时间

asp.net实现动态显示时间的两个方法方法一:不用javascrip,而是用了AJAX。(开销比较大,每秒向服务器请求一次时间)Default.aspx页面:先拉一个ScriptManager控件到页面,然后拉一个UpdatePanel控...

zedgraph去掉右键菜单中的选项

在zedgraph生成的图表中,右键菜单会出现”恢复默认大小“等菜单项,这些选项可以通过如下方法去掉。方法一:没有zedgraph源文件的情况:在zedGraph控件中的ContextMenuBuilder事件中加入如下操作:private...

在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。

C#窗体的多线程一直是个难题,总是要出现奇奇怪怪的错误。今天开发alexSEO软件时,出现了在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。主要出现问题代码如下:public   void runSEO(){...

C#重写WndProc 方法实现无法关闭的窗体

在窗体的设计文件Form1.Designer.cs中重写WndProc 方法 ,实现拦截窗体特定消息。代码如下:protected override void WndProc(ref System.Windows.Forms.Message...

C#下winform和JS的互相调用和传参(webbrowser)

不多说,直接上代码,winform下button1调用js函数,从html页面获取值,然后JS调用WINFORM的函数,传送获取到的值到winform并通过messagebox的方法show出来。一步到位, winform调用JS函数 和J...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。