Pregunta

Nunca he estado tan molesto con este kit de herramientas WPF. ¡La documentación simplemente no está allí! argh.

¿Cómo diablos puedes conectar las líneas en un gráfico de dispersión?

Necesito producir un gráfico que sea lineal en múltiples series. Prototipé lo que necesito hacer usando la tabla de dispersión Excels bien, pero para mi vida no puedo entender cómo conectar los puntos en el kit de herramientas.

Aquí está el código, ¿me falta una opción?

<my:Chart Name="myChart" Margin="5,5,5,5" Opacity="1" Width="525">
</my:Chart>

ScatterSeries a = new ScatterSeries();
a.Title = "a";

a.IndependentValuePath = "Key";
a.DependentValuePath = "Value";
myChart.Series.Add(a);

a = new ScatterSeries();
a.Title = "b";
a.IndependentValuePath = "Key";
a.DependentValuePath = "Value";
myChart.Series.Add(a);

((ScatterSeries)myChart.Series[0]).ItemsSource = new KeyValuePair<DateTime, int>[]
 {
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(1), 0),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(2), 150),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(3), 150),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(4), 0),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(5), 0),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(8), 130),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(9), 130),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(10), 0),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(11), 0),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(15), 225),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(16), 225),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(17), 0)
 };


((ScatterSeries)myChart.Series[1]).ItemsSource = new KeyValuePair<DateTime, int>[]
{
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(-21), 0),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(-5), 750),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(3), 750),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(7), 0),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(9), 0),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(10), 330),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(19), 330),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(20), 0),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(21), 0),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(25), 525),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(26), 525),
   new KeyValuePair<DateTime, int>(DateTime.Now.AddMonths(27), 0)
};
¿Fue útil?

Solución

Una gráfica de dispersión no conecta puntos con líneas. El uso de una línea de línea debe conectar los puntos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top