2017-04-03 2 views
2

나는 데이터베이스에서 런타임에 오는 값으로 asp.net StackedBar 차트를 만들었습니다.ASP.NET StackedBar Chart 예기치 않은 결과

enter image description here

가 왜 색상은 차트에 값에 따라 변경되지 않습니다 : 여기에

는 모습입니다?

그래서 값 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) 

데이터 : 어떤 도움을 주시면 감사하겠습니다

enter image description here

. 이와

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

:

는 디에게,

답변

1

변경이 감사

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

enter image description here

+0

너무 감사를! 이것은 효과가 있었다. 나는 이것을 오랫동안 시도해 왔고 작은 일이 그것을 작동하게 만들 수 있다는 것을 몰랐다. !!!! – dee

+0

대단히 환영합니다! – jsanalytics

+0

그냥 알다시피, 우리가 말하는 방식은 여기 주위에 있습니다 ** Up 투표 ** : O : – jsanalytics