'创建ChartSpace对象来放置图表

Dim myChart As ChartSpaceClass = New ChartSpaceClass

'在ChartSpace对象中添加图表,Add方法返回chart对象

Dim Chart1 As ChChart = myChart.Charts.Add(0)

'指定图表的类型。类型由OWC.ChartChartTypeEnum枚举值得到

Chart1.Type = OWC10.ChartChartTypeEnum.chChartTypeColumnClustered



'指定图表是否需要图例

Chart1.HasLegend = True

Chart1.Legend.Position = ChartLegendPositionEnum.chLegendPositionTop



'给定标题

Chart1.HasTitle = True

Chart1.Title.Caption = "1-6月数据分布图"



'计算数据

'X轴

Dim strCategory As String = "1" + ControlChars.Tab + "2" + ControlChars.Tab _

+ "3" + ControlChars.Tab + "4" + ControlChars.Tab + "5" + ControlChars.Tab _

+ "6" + ControlChars.Tab

'Y轴

Dim strValue As String = "9" + ControlChars.Tab + "8" + ControlChars.Tab _

+ "4" + ControlChars.Tab + "10" + ControlChars.Tab + "12" + ControlChars.Tab _

+ "6" + ControlChars.Tab

'Z轴

Dim strValue2 As String = "0.3" + ControlChars.Tab + "0.63" + ControlChars.Tab _

+ "0.48" + ControlChars.Tab + "0.86" + ControlChars.Tab + "0.95" + ControlChars.Tab _

+ "0.18" + ControlChars.Tab





'1. 添加一个series

Dim Ser1 As ChSeries = Chart1.SeriesCollection.Add(0)

'给定series的名字

Ser1.SetData(ChartDimensionsEnum.chDimSeriesNames, _

ChartSpecialDataSourcesEnum.chDataLiteral, "Product")

'给定分类

Ser1.SetData(ChartDimensionsEnum.chDimCategories, _

ChartSpecialDataSourcesEnum.chDataLiteral, strCategory)

'给定值

Ser1.SetData(ChartDimensionsEnum.chDimValues, _

ChartSpecialDataSourcesEnum.chDataLiteral, strValue)





'2. 再添加一个series

Dim Ser2 As ChSeries = Chart1.SeriesCollection.Add(1)

'给定series的名字

Ser2.SetData(ChartDimensionsEnum.chDimSeriesNames, _

ChartSpecialDataSourcesEnum.chDataLiteral, "Ratio")

'给定分类

Ser2.SetData(ChartDimensionsEnum.chDimCategories, _

ChartSpecialDataSourcesEnum.chDataLiteral, strCategory)

'给定值

Ser2.SetData(ChartDimensionsEnum.chDimValues, _

ChartSpecialDataSourcesEnum.chDataLiteral, strValue2)

Ser2.Ungroup(True)

Ser2.Type = ChartChartTypeEnum.chChartTypeLineMarkers

'添加Z轴

Dim AxesZ As ChAxis = Chart1.Axes.Add(Ser2.Scalings(ChartDimensionsEnum.chDimValues))

AxesZ.NumberFormat = "0.00%"

AxesZ.Position = ChartAxisPositionEnum.chAxisPositionRight





'给定x,y轴的图示说明

'默认只有X,Y 两个轴

Chart1.Axes(-3).HasTitle = True

Chart1.Axes(-3).Title.Caption = "Y 轴 : 数量"

Chart1.Axes(-2).HasTitle = True

Chart1.Axes(-2).Title.Caption = "X 轴: 月份"

AxesZ.HasTitle = True

AxesZ.Title.Caption = "Z 轴: Ratio"





'输出成GIF文件.

Dim strAbsolutePath As String = "C:\Images\" & Format(Date.Now, "yyyyMMddhhmmss") & ".gif"

myChart.ExportPicture(strAbsolutePath, "GIF", 600, 350)

Me.Image1.ImageUrl = strAbsolutePath
相关文章: