图表区域轴

编程入门 行业动态 更新时间:2024-10-21 10:20:21
本文介绍了图表区域轴 - 图表区域包含不兼容的图表类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

获取错误

Chart Area Axes - The chart area contains incompatible chart types. For example, bar charts and column charts cannot exist in the same chart area.

Chart Chart1 = FirstChart(dt1); Chart Chart2 = CreateChart(dt2); Chart1.SaveImage(stream, ChartImageFormat.Png); Chart2.SaveImage(stream1, ChartImageFormat.Png); protected Chart FirstChart(DataTable dtRpt) { Chart chart = new Chart(); chart.Height = 800; chart.Width = 600; chart.ChartAreas.Add("ChartArea1"); DataTable dt = new DataTable(); if (ViewState["flag"].ToString() == "true") { chart = ChartCode(chart, dtRpt, "10"); } else { dt = GameLib.Reports.SubjectToFill(KidId, Dt1, Dt2, Gradeid); if (dt.Rows.Count <= 0) { chart.ChartAreas["ChartArea1"].BackImage = "~/img/noreport1.png"; chart.ChartAreas["ChartArea1"].BackImageWrapMode = ChartImageWrapMode.Unscaled; chart.ChartAreas["ChartArea1"].BackImageAlignment = ChartImageAlignmentStyle.Center; } else { chart = ChartCode(chart, dtRpt, "10"); } } return chart; } protected Chart createchart (DataTable dtRpt) { Chart chart = new Chart(); chart.Height = 800; chart.Width = 600; chart.ChartAreas.Add("ChartArea1"); chart.Series.Add("Class Average "); chart.Series.Add("Score "); DataTable dt = new DataTable(); if (ViewState["flag"].ToString() == "true") { chart = ChartCode(chart, dtRpt, "10"); } else { dt = GameLib.Reports.SubjectToFill(KidId, Dt1, Dt2, Gradeid); if (dt.Rows.Count <= 0) { chart.ChartAreas["ChartArea1"].BackImage = "~/img/noreport1.png"; chart.ChartAreas["ChartArea1"].BackImageWrapMode = ChartImageWrapMode.Unscaled; chart.ChartAreas["ChartArea1"].BackImageAlignment = ChartImageAlignmentStyle.Center; } else { chart = ChartCode(chart, dtRpt, "10"); } } return chart; } protected Chart ChartCode(Chart chart, DataTable dtRpt, string width) { if (width == "15") { chart.Series.Add("Number of games"); chart.Series.Add("Child Played Count"); } chart.Series.Add("Class Average "); chart.Series.Add("Score "); for (int i = 0; i < dtRpt.Rows.Count; i++) { chart.Series[0].Points.AddXY(dtRpt.Rows[i].ItemArray[0], dtRpt.Rows[i].ItemArray[4]); chart.Series[1].Points.AddXY(dtRpt.Rows[i].ItemArray[0], dtRpt.Rows[i].ItemArray[5]); chart.Series[0].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Bar; chart.Series[1].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Bar; System.Drawing.Color col = System.Drawing.ColorTranslator.FromHtml("#3F66B1"); System.Drawing.Color col1 = System.Drawing.ColorTranslator.FromHtml("#DD3B26"); chart.Series[0].Color = col; chart.Series[1].Color = col1; } chart.Legends.Add("Legend1"); chart.Legends[0].Enabled = true; chart.Legends[0].Alignment = System.Drawing.StringAlignment.Center; chart.ChartAreas["ChartArea1"].AxisX.Title = "Topics"; chart.ChartAreas["ChartArea1"].AxisY.Title = "Average Score "; if (width == "15") { chart.ChartAreas["ChartArea1"].AxisY.LabelStyle.Format = "{#}%"; } chart.ChartAreas["ChartArea1"].AxisX.MajorGrid.Enabled = false; chart.ChartAreas["ChartArea1"].AxisY.MajorGrid.Enabled = false; chart.Series[0]["PixelPointWidth"] = width; chart.Series[1]["PixelPointWidth"] = width; ChartArea ca = chart.ChartAreas["ChartArea1"]; ca.AxisX.LineWidth = 1; ca.AxisY.LineWidth = 1; ca.AxisX2.LineWidth = 1; ca.AxisY2.LineWidth = 1; ca.AxisX.LabelStyle.IsEndLabelVisible = true; ca.AxisY.LabelStyle.IsEndLabelVisible = true; ca.AxisX.IsMarginVisible = true; ca.AxisY.IsMarginVisible = true; ca.AxisX.ScaleBreakStyle.LineWidth = 1; ca.AxisY.ScaleBreakStyle.LineWidth = 1; ca.AxisX.Interval = 1; // ca.AxisY.Interval = 10; ca.AxisX.Minimum = 0; ca.AxisX.Maximum = int.Parse(dtRpt.Rows.Count.ToString()) + 1; ca.AxisX.Interval = 1; ca.AxisY.ScaleBreakStyle.StartFromZero = StartFromZero.Yes; ca.AxisX.IntervalAutoMode = IntervalAutoMode.FixedCount; ca.AxisY.IntervalAutoMode = IntervalAutoMode.FixedCount; ca.AxisX.IsStartedFromZero = true; ca.AxisY.IsStartedFromZero = true; ca.AxisX.TextOrientation = TextOrientation.Auto; ca.AxisY.TextOrientation = TextOrientation.Auto; ca.AxisX.LabelAutoFitMinFontSize = 6; ca.AxisY.LabelAutoFitMinFontSize = 6; ca.AxisX.LabelStyle.IsEndLabelVisible = true; ca.AxisY.LabelStyle.IsEndLabelVisible = true; ca.AlignmentOrientation = AreaAlignmentOrientations.Horizontal; ca.AxisY.LabelStyle.IsEndLabelVisible = true; ca.AxisY = new Axis { LabelStyle = new LabelStyle() { Font = new System.Drawing.Font("Verdana", 7.5f) } }; ca.AxisY.Minimum = 0; if (width == "15") { ca.AxisY.Interval = 25; ca.AxisY.LabelStyle.Format = "{#}%"; ca.AxisY.Maximum = 100; } return chart; }

实际上都是条形图。我不知道为什么这个错误可以帮助我解决这个错误。它的简短代码; firstchart和createchart exicutes创建代码,其中i指定系列类型............................ ................................................. ....................................

Actually both are bar chart.I dont why this error can anyone help me to resolve this error.Its brief code;Both firstchart and createchart exicutes the create code where i specifes the series type..................................................................................................................

推荐答案

我自己找到解决方案; 而不是

I found solution myself; instead of

chart.Series[0].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Bar; chart.Series[1].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Bar;

替换为

foreach (Series series in chart.Series) { series.ChartType = SeriesChartType.Bar; }

更多推荐

图表区域轴

本文发布于:2023-11-22 15:01:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1617893.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:图表   区域

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!