大家好:请求援助。
我以前用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);
}
}
我以前用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);
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货