ASP.NET 堆积条形图意外结果

ASP.NET StackedBar Chart Unexpected Result

我创建了一个 asp.net StackedBar 图表,其值来自数据库的运行时。

这是它的样子:

为什么我的颜色没有根据图表上的值改变?

所以值 56 应该显示更多的红色,而值 1 应该显示更少的红色?现在,尽管值都不同,但颜色的宽度都相同,这并没有给出正确的图形效果?

使用的代码:

Dim chart As New Chart
                chart.ID = DtDistinct.Rows(I)("CourseSisID")

                Dim chartareas As New ChartArea
                chart.ChartAreas.Add(chartareas)

                ' chart.DataBindTable(DtRecords.DefaultView)

                chart.DataBindCrossTable(DtRecords.DefaultView, "Outcomescore", "ShortName", "Outcomescore", "Label=RecordsPerGroup")
                chart.ChartAreas(0).AxisY.Interval = 1
                chart.ChartAreas(0).AxisY.LabelStyle.IsEndLabelVisible = True
                chart.Palette = ChartColorPalette.None
                chart.PaletteCustomColors = New Color() {ColorTranslator.FromHtml("#DF5B59"), ColorTranslator.FromHtml("#E0D773 "), ColorTranslator.FromHtml("#8AAC53"), ColorTranslator.FromHtml("#6A843F")}

                chart.ChartAreas(0).AxisX.MajorGrid.Enabled = False
                chart.ChartAreas(0).AxisY.MajorGrid.Enabled = False

                Dim charttitle As New Title
                charttitle.Text = DtDistinct.Rows(I)("CourseSisID")
                chart.Titles.Add(charttitle)

                For Each cs As Series In chart.Series
                    cs.ChartType = SeriesChartType.StackedBar
                Next
                pnlcharts.Controls.Add(chart)

数据:

如有任何帮助,我们将不胜感激。

谢谢, 迪

改变这个:

chart.DataBindCrossTable(DtRecords.DefaultView, "Outcomescore", "ShortName", "Outcomescore", "Label=RecordsPerGroup");

有了这个:

chart.DataBindCrossTable(DtRecords.DefaultView, "OutcomeScore", "ShortName", "RecordsPerGroup", "Label=RecordsPerGroup");