P: Quiero dibujar líneas de rango en un gráfico de área. Dibujo el área pero fallo al dibujar las líneas de rango. Principalmente, no sé los valores de inicio y final del eje y cómo debería establecer los valores de rango para que aparezcan las líneas en el nivel que las necesito.
R: Para dibujar las líneas de rango usted necesita un LineSeries que tiene dos puntos X y dos puntos Y que serán del mismo valor. Usted sabe a qué altura debería ser dibujada la línea de rango – diagamos que es 10. Entendemos que quiere que la línea de rango comience y termine donde el eje comienza y termina. Si intenta obtener los valores mínimo y máximo del eje con las propiedades XAxisSettings.MinValue y XAxisSettings.MaxValue usted puede obtener double.NaN si las propiedades no están establecidas. Esto significa que, si el eje es calculado automáticamente por el control, MinValue y MaxValues tienen sus valores por defecto de double.NaN y actualmente no hay manera en la que puede saber el rango del eje. Así que, es mejor que lo establezca usted mismo basado en sus datos. Entonces puede usar los valores para crear la línea de rango.
El siguiente código establece el eje de 1 a 5 y crea una línea de rango rja a la altura 10 y paralela al eje X.
//set the range for the X-axis lineChart1.XAxisSettings.MinValue = 0; lineChart1.XAxisSettings.MaxValue = 5; //create the range line LineSeries series1 = new LineSeries(); //the range line is drawn parallel to the X-axis series1.XData = new List() { 0, 5}; series1.YData = new List () { 10, 10}; //the range line is red series1.Fills = new List (); series1.Fills.Add(Brushes.Red); //it is a line graphic series1.LineType = LineType.Line; lineChart1.Series.Add(series1);