大家好:请求援助。
我以前用OWC11生成的图片,现在必须用ultrachart生成。原来用OWC生成的图片如下:
现在得到的:
下面是代码,基于asp.net C#
大家帮我改改
public void DrawPictures(string titleCaption, string axesTitleCaption, DataTable dt, string pictureName)
    {
                                Infragistics.WebUI.UltraWebChart.UltraChart chart = new Infragistics.WebUI.UltraWebChart.UltraChart();
                
                              chart.ChartType = Infragistics.UltraChart.Shared.Styles.ChartType.Composite;
                ChartArea myChartArea = new ChartArea();
                chart.CompositeChart.ChartAreas.Add(myChartArea);                chart.TitleTop.Text = titleCaption;
                chart.TitleLeft.Text = axesTitleCaption;
                AxisItem axisX = new AxisItem();
                axisX.OrientationType = AxisNumber.X_Axis;
                axisX.DataType = AxisDataType.String;
                axisX.SetLabelAxisType = SetLabelAxisType.GroupBySeries;
                axisX.Labels.ItemFormatString = "<ITEM_LABEL>";
                axisX.Labels.Orientation = TextOrientation.VerticalLeftFacing;
                
                
                AxisItem axisY = new AxisItem();
                axisY.OrientationType = AxisNumber.Y_Axis;
                axisY.DataType = AxisDataType.Numeric;
                axisY.Labels.ItemFormatString = "<DATA_VALUE:#>";                AxisItem axisY2 = new AxisItem();
                axisY.OrientationType = AxisNumber.Y2_Axis;
                axisY.DataType = AxisDataType.Numeric;
                axisY.Labels.ItemFormatString = "<DATA_VALUE:#%>";                myChartArea.Axes.Add(axisX);
                myChartArea.Axes.Add(axisY);
                myChartArea.Axes.Add(axisY2);                NumericSeries seriesGreen = new NumericSeries();
                seriesGreen.Label = "Green Num.";                seriesGreen.Data.DataSource = dt;
                seriesGreen.Data.LabelColumn = axesTitleCaption;
                seriesGreen.Data.ValueColumn = "GreenNum";
                NumericSeries seriesRed = new NumericSeries();
                seriesRed.Label = "Red Num.";                seriesRed.Data.DataSource = dt;
                seriesRed.Data.LabelColumn = axesTitleCaption;
                seriesRed.Data.ValueColumn = "RedNum";
                NumericSeries seriesGreenRate  = new NumericSeries();
                seriesGreenRate.Label = "Green%.";                seriesGreenRate.Data.DataSource = dt;
                seriesGreenRate.Data.LabelColumn = axesTitleCaption;
                seriesGreenRate.Data.ValueColumn = "Green%";               
                chart.CompositeChart.Series.Add(seriesGreen);
                chart.CompositeChart.Series.Add(seriesRed);
                chart.CompositeChart.Series.Add(seriesGreenRate);                ChartLayerAppearance myColumnLayer = new ChartLayerAppearance();
                myColumnLayer.ChartType = ChartType.ColumnChart;
                myColumnLayer.ChartArea = myChartArea;
                myColumnLayer.AxisX = axisX;
                myColumnLayer.AxisY = axisY;
                myColumnLayer.Series.Add(seriesGreen);
                myColumnLayer.Series.Add(seriesRed);
                chart.CompositeChart.ChartLayers.Add(myColumnLayer);                ChartLayerAppearance myColumnLayer2 = new ChartLayerAppearance();
                myColumnLayer.ChartType = ChartType.ColumnChart;
                myColumnLayer.ChartArea = myChartArea;
                myColumnLayer.AxisX = axisX;
                myColumnLayer.AxisY = axisY;
                myColumnLayer.Series.Add(seriesRed);
                myColumnLayer.Series.Add(seriesRed);
                chart.CompositeChart.ChartLayers.Add(myColumnLayer);                ChartLayerAppearance myLineLayer = new ChartLayerAppearance();
                myLineLayer.ChartType = ChartType.LineChart;
                myLineLayer.ChartArea = myChartArea;
                myLineLayer.AxisX = axisX;
                myLineLayer.AxisY2 = axisY2;
                myLineLayer.Series.Add(seriesGreenRate);
                chart.CompositeChart.ChartLayers.Add(myLineLayer);                CompositeLegend myLegend = new CompositeLegend();
                myLegend.ChartLayers.Add(myColumnLayer);
                myLegend.Bounds = new System.Drawing.Rectangle(0, 85, 25, 50);
                myLegend.BoundsMeasureType = MeasureType.Percentage;
                myLegend.PE.ElementType = PaintElementType.Gradient;
                myLegend.PE.FillGradientStyle = GradientStyle.ForwardDiagonal;
                myLegend.PE.Fill = System.Drawing.Color.CornflowerBlue;
                myLegend.PE.FillStopColor = System.Drawing.Color.Transparent;
                myLegend.Border.CornerRadius = 10;
                myLegend.Border.Thickness = 0;
                chart.CompositeChart.Legends.Add(myLegend);
                string strQPath = (Server.MapPath("../Image/")) + string.Format("\\{0}.gif", pictureName);
             
                chart.SaveTo(@strQPath, System.Drawing.Imaging.ImageFormat.Gif);
            
                   }
}