Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multiple Series Charts with WPFtoolkit

Does anyone of you know the way to create multiple series charts with wpftoolkit? In a nutshell what I want is to have more dependent values for the same independent value. So far I couldn't find any comprehensive mechanism to get this working. Any help is deeply appreciated.

like image 489
picmate 涅 Avatar asked Feb 15 '11 10:02

picmate 涅


3 Answers

If you want a Chart with two LineSeries

enter image description here

You may have 2 different lists in your .cs file filed with data:

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

Then you have to create another list to group those two lists:

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

And assign it to the DataContext

lineChart.DataContext = dataSourceList;

In your .xaml file you should create a Chart with two LineSeries and get the value of each Line using the ItemSource field.

Here is the .xaml:

<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]}" Binds the first item in the list assigned to the DataContext. ItemsSource="{Binding [1]}" Binds the second

like image 66
Pere BG Avatar answered Oct 06 '22 20:10

Pere BG


You might want to consider the alternatives, from past experience the charting components in the WPF Toolkit are extremely rigid and hard to extend. I've also had numerous issues with bugs in the toolkit and active development seems to have completely ground to a halt. There are some very good free alternative that are worth considering.

like image 41
Tom Dudfield Avatar answered Oct 06 '22 20:10

Tom Dudfield


Beat Kiener has a great article on Databinding Multi-Series Charts. In it, he implements his own MultiChart class, derived from Chart.

This may be too late for you, but at least it may help others.

like image 35
Mal Ross Avatar answered Oct 06 '22 19:10

Mal Ross