ZedGraph下Web中显示图形笔记
codeproject上的不错,不过有些细节不一样.
private void ZGCreateGraph(ZedGraph.Web.ZedGraphWeb webObject, System.Drawing.Graphics g, ZedGraph.MasterPane pane)
{
//获得一个GraphPane的引用
GraphPane myPane = pane[0];
//设置标题
myPane.Title.Text = "My Test Bar Graph";
myPane.XAxis.Title.Text = "Label";
myPane.YAxis.Title.Text = "My Y Axis";
// Make up some random data points
string[] labels = { "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" };
double[] y = { 100, 115, 75, 22, 98, 40 , 90, 100, 95, 35, 80, 35};
//初始化bar
BarItem myBar;
// 创建一个柱形图
myBar = myPane.AddBar("案件数", null, y, Color.Green);
myBar.Bar.Fill = new Fill(Color.Green, Color.White,Color.Green);
// 创建一条曲线
LineItem myCurve = myPane.AddCurve("案件数",null, y, Color.Black, SymbolType.Circle);
myCurve.Line.Fill = new Fill(Color.White,Color.LightSkyBlue, -45F);
// 设置曲线的样式
myCurve.Symbol.Size = 8.0F;
myCurve.Symbol.Fill = new Fill(Color.White);
myCurve.Line.Width = 2.0F;
//指定每个bar实在两个label之间显示
myPane.XAxis.MajorTic.IsBetweenLabels = true;
//设置X轴刻度
myPane.XAxis.Scale.TextLabels = labels;
//设置X轴刻度类型
myPane.XAxis.Type = AxisType.Text;
//设置图表样式
myPane.Chart.Fill = new Fill(Color.White, Color.FromArgb(255, 255, 166), 90F);
myPane.Fill = new Fill(Color.FromArgb(250, 250, 255));
//显示
pane.AxisChange();
}
在这个方法中,有三个参数,是控件本身传递过来的.也就是说控件有个Render事件,事件自动委托出来就带了这三个参数.这个和WinForm下的差异很大.
另外在asp.net下调时可能会提示找不到一个png文件,也很好解决,在项目下按照它所说的把目录建好就成,实际上这个错误相当于告诉你ZedGraph需要一个临时目录,但是你没有建立.
---------------------------------------------------------------
aspnetx的BI笔记系列索引:
使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能
---------------------------------------------------------------