2011-02-15 18 views
8

¿Alguno de ustedes conoce la manera de crear gráficos de series múltiples con wpftoolkit? En pocas palabras, lo que quiero es tener más valores dependientes para el mismo valor independiente. Hasta ahora no he podido encontrar ningún mecanismo integral para que esto funcione. Cualquier ayuda es muy apreciada.Gráficos de series múltiples con WPFtoolkit

Respuesta

6

Es posible que desee considerar el alternatives, según la experiencia anterior, los componentes de gráficos en el WPF Toolkit son extremadamente rígidos y difíciles de extender. También he tenido numerosos problemas con errores en el kit de herramientas y el desarrollo activo parece haberse detenido por completo. Hay algunas alternativas gratuitas muy buenas que vale la pena considerar.

+1

Hola Tom, gracias por la respuesta. No tengo otra opción que seguir adelante con el WPFtoolkit. Estamos casi a la mitad con un desarrollo de productos de BI y no tendremos otra manera que utilizar el kit de herramientas. Si encuentra alguna respuesta favorable para mi pregunta anterior, incluso si cumple parcialmente el requisito, compártalo con nosotros. Gracias de nuevo. –

1

crear una tabla de datos con una columna para cada serie, agregar cinco series de columnas (en el caso del gráfico de columnas y cinco series) al gráfico, con DependentValueBinding para cada nombre de columna, establecer ItemsSource en tabla de datos (ItemsSource es igual para cada serie de columnas).

Avíseme si quiere que agregue el código.

2

Beat Kiener tiene un excelente artículo en Databinding Multi-Series Charts. En él, implementa su propia clase MultiChart, derivada de Chart.

Esto puede ser demasiado tarde para usted, pero al menos puede ayudar a otros.

20

Si quieres un gráfico con dos LineSeries

enter image description here

Usted puede tener 2 listas diferentes en su archivo .cs presentado con los datos:

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

entonces usted tiene que crear otra lista para agrupar esas dos listas:

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

Y a ssign al DataContext

lineChart.DataContext = dataSourceList; 

En sus .xaml de archivo, debe crear un Chart con dos LineSeries y obtener el valor de cada línea usando el campo ItemSource.

Aquí es el .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]}" se une al primer elemento de la lista asignada a la DataContext. ItemsSource="{Binding [1]}" Enlaza el segundo

Cuestiones relacionadas