Welcome

首页 / 软件开发 / C# / 基本教程篇--第六、七节

基本教程篇--第六、七节2011-10-05 csdn博客 TJVictorHorizontalBarSampleDemo.cs和StackedBarSampleDemo.cs介绍

第六、七节HorizontalBarSampleDemo.cs和StackedBarSampleDemo.cs介绍

这两节与第五节相比,并没有本质上的区别,所以这里只给出相应的代码、示例图和必要的说明。

using System;

using System.Drawing;

using System.Collections;

using ZedGraph;

namespace ZedGraph.Demo

{

///<summary>

/// Summary description for SimpleDemo.

///</summary>

public class HorizontalBarSampleDemo : DemoBase

{

public HorizontalBarSampleDemo() : base( "Code Project Horizontal Bar Chart Sample",

"Horizontal Bar Sample", DemoType.Tutorial )

{

GraphPane myPane = base.GraphPane;

// Set the title and axis labels

myPane.Title = "A Horizontal Percent Stack Graph";

myPane.XAxis.Title = "Stuff";

myPane.YAxis.Title = "";

// Enter some random data values

double[] y = { 100, 115, 15, 22, 98 };

double[] y2 = { 90, 60, 95, 35, 30 };

double[] y3 = { 20, 40, 105, 15, 30 };

// Generate a red bar with "Nina" in the legend

BarItem myCurve = myPane.AddBar( "Nina", y, null, Color.Red );

myCurve.Bar.Fill = new Fill( Color.Red, Color.White, Color.Red, 90F );

// Generate a blue bar with "Pinta" in the legend

myCurve = myPane.AddBar( "Pinta", y2, null, Color.Blue );

myCurve.Bar.Fill = new Fill( Color.Blue, Color.White, Color.Blue, 90F );

// Generate a green bar with "Santa Maria" in the legend

myCurve = myPane.AddBar( "Santa Maria", y3, null, Color.Green );

myCurve.Bar.Fill = new Fill( Color.Green, Color.White, Color.Green, 90F );

// Draw the Y tics between the labels instead of at the labels

myPane.YAxis.IsTicsBetweenLabels = true;

// Set the YAxis to text type

myPane.YAxis.Type = AxisType.Text;

string[] labels = { "Australia", "Africa", "America", "Asia", "Antartica" };

myPane.YAxis.TextLabels = labels;

myPane.XAxis.Max = 110;

// Make the bars horizontal by setting bar base axis to Y

myPane.BarBase = BarBase.Y;

// Make the bars percent stack type

myPane.BarType = BarType.PercentStack;

// Fill the axis background with a color gradient

myPane.AxisFill = new Fill( Color.White,

Color.FromArgb( 255, 255, 166), 90F );

// Fill the legend background with a color gradient

myPane.Legend.Fill = new Fill( Color.White,

Color.FromArgb( 255, 255, 250), 90F );

// Fill the pane background with a solid color

myPane.PaneFill = new Fill( Color.FromArgb( 250, 250, 255) );

base.ZedGraphControl.AxisChange();

}

}

}