web页上绘制饼图曲线图等组件(c#)
例子: 生成饼图表********************************************
private void InitializeComponent()
{
this.myBarGraph.RenderGraph += new ZedGraph.Web.ZedGraphWebControlEventHandler(this.OnRenderGraphBar);
this.myLineGraph.RenderGraph += new ZedGraph.Web.ZedGraphWebControlEventHandler(this.OnRenderGraphLine);
}
private void OnRenderGraphBar(ZedGraphWeb zgw, System.Drawing.Graphics g, ZedGraph.MasterPane masterPane)
{
myBarMethod(zgw, g, masterPane, strYear, strMonth, compareType);
}
private void OnRenderGraphLine(ZedGraphWeb zgw, System.Drawing.Graphics g, ZedGraph.MasterPane masterPane)
{
myLineMethod(zgw, g, masterPane, douYear, douMonth);
}
private void myBarMethod(ZedGraphWeb zgw, System.Drawing.Graphics g, ZedGraph.MasterPane masterPane, string[] strYear, string[] strMonth, string compareType)
{
GraphPane myPane = masterPane[0];
myPane.Title.Text = title + "柱状图分析";
myPane.XAxis.Title.Text = "时间(月/年)";
if (compareType == "AddValue")
{
myPane.YAxis.Title.Text = "增加值";
}
else
{
myPane.YAxis.Title.Text = "增加比例(%)";
}
List<PointPairList> ListPointParitList = new List<PointPairList>();
for (int i = 0; i < strYear.Length; i++)
{
ListPointParitList.Add(new PointPairList());
}
int n = 0;
for (double x = 0; x < strMonth.Length; x += 1.0)
{
for (int i = 0; i < strYear.Length; i++)
{
//ListPointParitList[i].Add(x, randNum[n++] * multiplyValue);
ListPointParitList[i].Add(x, GetFXData(strYear[i], strMonth[(int)x]));
}
}
List<BarItem> ListBarItem = new List<BarItem>();
List<Color> ListColor = GetColor();
for (int i = 0; i < strYear.Length; i++)
{
ListBarItem.Add(new BarItem(strYear[i], ListPointParitList[i], ListColor[i]));
ListBarItem[i] = myPane.AddBar(strYear[i], ListPointParitList[i], ListColor[i]);
}
myPane.XAxis.MajorTic.IsBetweenLabels = true;
myPane.XAxis.Scale.TextLabels = strMonth;
myPane.XAxis.Type = AxisType.Text;
myPane.Fill = new Fill(Color.White, Color.FromArgb(200, 200, 255), 45.0f);
myPane.Chart.Fill = new Fill(Color.White, Color.LightGoldenrodYellow, 45.0f);
masterPane.AxisChange(g);
}