日期:2014-05-20 浏览次数:20881 次
public void CreateChart(ZedGraphControl zgc)
{
GraphPane myPane = zgc.GraphPane;
myPane.XAxis.Title.IsVisible = false;
myPane.YAxis.Title.Text = "Value";
string[] xLables = { "标签1", "标签2", "标签3", "标签4", "标签5", "标签6" };
/* 测试数据,注意这里的数据控制,两个数组中的两个对应项
* 务必保持一个值为0:
* 比如这里的y1[0]=110,则y2[0]=0;y2[1]=99,则y1[1]=0 */
double[] y1 = { 110, 0, 120, 0, 0, 123 }; //用来保存大于100的数据
double[] y2 = { 0, 99, 0, 35, 80, 0 }; //用来保存小于100的数据
// 创建Curve1,显示红色的柱子
CurveItem myCurve = myPane.AddBar("Curve 1", null, y1, Color.Red);
// 创建Curve2,显示绿色的柱子
myCurve = myPane.AddBar("Curve 2", null, y2, Color.Green);
// 设置x轴为文本显示
myPane.XAxis.Type = AxisType.Text;
// 设置x轴文本标签值
myPane.XAxis.Scale.TextLabels = xLables;
// 设置x轴标签字体
myPane.XAxis.Scale.FontSpec.Family = "华文行楷";
// 为每个“柱子”上方添加值标签
for (int i = 0; i < y1.Length; i++)
{
double Y = y1[i] == 0 ? y2[i] : y1[i];
TextObj text = new TextObj(Y.ToString(), (i + 1), Y + 3.0);
text.FontSpec.Border.IsVisible = false;
text.FontSpec.Fill.IsVisible = false;