2011-02-15 2 views
8

wpftoolkit으로 여러 시리즈 차트를 만드는 방법을 아는 사람이 있습니까? 간단히 말해서 내가 원한 것은 동일한 독립 값에 대해 더 많은 종속 값을 갖는 것입니다. 지금까지 나는이 일을하기위한 어떤 포괄적 인 메커니즘도 찾을 수 없었다. 어떤 도움도 깊이 감사드립니다.WPFtoolkit을 사용한 다중 시리즈 차트

답변

6

alternatives을 WPF Toolkit의 차트 구성 요소가 지나치게 강렬하고 확장하기가 어려울 수도 있습니다. 또한 툴킷에서 버그로 인해 많은 문제를 겪었으며 적극적인 개발은 완전히 중단되었습니다. 고려 가치가 아주 좋은 무료 대안이 있습니다.

+1

안녕하세요, 답변에 감사드립니다. WPF 툴킷을 사용하는 것 외에는 다른 옵션이 없습니다. 우리는 BI 제품 개발을 거의 반쯤 완료했으며 툴킷을 사용하는 것 외에 다른 방법은 없습니다. 이전 질문에 대해 호의적 인 대답을 발견 한 경우 요구 사항이 부분적으로 충족 되더라도이를 우리와 공유하십시오. 다시 한번 감사드립니다. –

1

각 시리즈에 대해 열로 데이터 테이블을 만들고 차트에 5 개의 열 시리즈 (5 개의 시리즈의 경우)를 추가하고 각 열 이름에 DependentValueBinding을 추가하고 ItemsSource를 datatable로 설정합니다 (ItemsSource는 각각 동일합니다 열 시리즈).

코드를 추가하려면 알려주십시오.

2

비트 키너 (Beat Kiener)는 Databinding Multi-Series Charts에 관한 훌륭한 글을 가지고 있습니다. 이 클래스에서 그는 Chart에서 파생 된 자신의 MultiChart 클래스를 구현합니다.

이것은 너무 늦을 수는 있지만 적어도 다른 사람들에게 도움이 될 수 있습니다. 두 LineSeries

enter image description here

와 차트 당신은 데이터에 제출하여 .cs 파일에 2 개 개의 다른 목록을 가질 수 원하는 경우

20

:

List<KeyValuePair<DateTime, int>> llistaGastats = new List<KeyValuePair<DateTime, int>>(); 
List<KeyValuePair<DateTime, int>> llistaPreu = new List<KeyValuePair<DateTime, int>>(); 

그런 다음 다른 목록을 만들어야합니다 두 목록을 그룹화하려면 다음을 입력하십시오.

var dataSourceList = new List<List<KeyValuePair<DateTime, int>>>(); 
dataSourceList.Add(llistaGastats); 
dataSourceList.Add(llistaPreu); 

당신의 .xaml에서 DataContext

lineChart.DataContext = dataSourceList; 

에 ssign는 두 LineSeriesChart를 작성하고 ItemSource 필드를 사용하여 각 행의 값을 얻어야한다 파일.

<chartingToolkit:Chart Name="lineChart" 
             Title="Consum KW" 
             VerticalAlignment="Top" 
             Margin="0,58,58,0" 
             Height="382" 
             Grid.Column="1"> 
       <chartingToolkit:LineSeries Name="KWG" 
               Title="KW Gastats" 
               DependentValuePath="Value" 
               IndependentValuePath="Key" 
               ItemsSource="{Binding [0]}" 
               IsSelectionEnabled="True"/> 
       <chartingToolkit:LineSeries Name="KWP" 
               Title="Preu KW" 
               DependentValuePath="Value" 
               IndependentValuePath="Key" 
               ItemsSource="{Binding [1]}" 
               IsSelectionEnabled="True" /> 
      </chartingToolkit:Chart> 

ItemsSource="{Binding [0]}"는 DataContext에 할당 된 목록의 첫 번째 항목을 바인딩 : 여기

은 .xaml입니다. ItemsSource="{Binding [1]}" 두번째 구속