P: Quiero construir un gráfico de líneas, donde cada línea representa un período de tiempo. Cada línea debe ser paralela al eje X y el eje muestra marcas de tiempo.
R: Puede utilizar las funciones del control para manejar los valores de DateTime con el fin de establecer los datos el tiempo necesario. En primer lugar, debe configurar el eje X para mostrar los valores de DateTime. En el código de ejemplo ponemos el eje X para mostrar 10 días entre febrero, 8 y 18 de febrero.
//set the start and end dates for the axis. lineChart1.XAxisSettings.MinValue = new DateTime(2013, 2, 8).ToOADate(); lineChart1.XAxisSettings.MaxValue = new DateTime(2013, 2, 18).ToOADate(); //the axis will have 10 intervals lineChart1.XAxisSettings.Interval = (lineChart1.XAxisSettings.MaxValue - lineChart1.XAxisSettings.MinValue) / 10; //format the labels lineChart1.XAxisSettings.LabelFormat = "MM-dd-yy"; //tell the control this will be DateTime values lineChart1.XAxisSettings.ValueFormat = ValueFormat.DateTime; lineChart1.XAxisSettings.LabelType = LabelType.AutoScale;
A continuación, debe añadir los datos correctos de la tabla. Usted tiene tres opciones para agregar los valores de DateTime - como valores DateTime, convertidos a ToOADate o convertidos a long. Hemos elegido convertir los valores a long:
LineSeries series0 = new LineSeries(); //create the necessary DateTime values DateTime d1 = new DateTime(2013, 2, 9); DateTime d2 = new DateTime(2013, 2, 12); //convert them to long numbers series0.XData = new List{ d1.Ticks, d2.Ticks }; series0.YData = new List { 6, 6 }; //make the line thicker series0.StrokeThickness = 4; //add a red brush series0.Fills = new List (); series0.Fills.Add(new SolidColorBrush(Colors.Red)); //set the start and end dates for the axis. lineChart1.XAxisSettings.MinValue = new DateTime(2013, 2, 8).ToOADate(); lineChart1.XAxisSettings.MaxValue = new DateTime(2013, 2, 18).ToOADate(); lineChart1.Series.Add(series0);
Aquí creamos un LineSeries que está dibujado paralelamente al eje X con una altura de 6.