'创建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
1171

被折叠的 条评论
为什么被折叠?



