Ejes en controles Chart
Cada área de un gráfico contiene ejes (objetos Axis) para su área de trazado, y el acceso a cada eje se realiza a través de su respectiva área del gráfico.
Los gráficos se trazan utilizando los ejes X e Y.Los ejes Y tienen normalmente escalas numéricas, mientras que los ejes X suelen tener escalas de categorías.Las categorías pueden incluir valores de cadena, numéricos y de fecha.De forma predeterminada, el control Chart utiliza escalas numéricas para todos los ejes.
Cada eje puede tener su propio título.Para establecer el título del eje, use la propiedad Axis.Title.
Trazar en relación a los ejes
Los gráficos más utilizados habitualmente poseen un conjunto de ejes principales y pueden tener un conjunto de ejes secundarios.Puede habilitar y deshabilitar cada eje individual en el objeto ChartArea y establecer un objeto Series que se representará sobre los ejes principales o secundarios mediante las propiedades Series.XAxisType y Series.YAxisType.Vea la tabla siguiente para conocer cuál es la propiedad que controla cada eje.
Para la mayoría de los tipos de gráfico, los ejes X son horizontales y los ejes Y son verticales, con las siguientes excepciones:
En el tipo de gráfico de barras, los ejes X son verticales y los ejes Y son horizontales.
Los tipos de gráfico circulares solo utilizan los ejes principales, con el eje X que representa el radio del círculo y el eje Y que representan la circunferencia.
Los tipos de gráfico de pirámide y embudo solo utilizan los ejes principales, donde el eje X representa la pila de elementos vertical (cada elemento de la pila es representado por un punto de datos).El eje Y puede representar el área o el alto de cada elemento, dependiendo de la configuración.
En la siguiente tabla se muestran las posiciones típicas de cada eje en el área del gráfico.
Eje |
Posición |
---|---|
X principal |
Bottom |
Y principal |
Izquierda |
X secundario |
Top |
Y secundario |
Derecha |
Personalizar la escala, las líneas de cuadrícula y las marcas de paso
De forma predeterminada, el control Chart establece automáticamente la escala de los ejes en áreas del gráfico según sus series de datos.Puede establecer manualmente las propiedades Minimum, Maximum, Interval, IntervalOffset, IntervalType y IntervalOffsetType para cada eje.Puede personalizar aún más definiendo diferentes valores para las propiedades MajorGrid, MinorGrid, MajorTickMark, MinorTickMark y LabelStyle de un eje.Si establece la misma propiedad en el eje y en uno de sus componentes (por ejemplo, la propiedad Minimum en AxisY y en AxisY.MajorGrid), la configuración del componente tendrá la prioridad.
Cuando el valor de Axis.Interval es Auto, la propiedad Axis.IntervalAutoMode determina cuántos intervalos se deberían calcular.Si se actualiza el gráfico o se cambia su tamaño con frecuencia en tiempo de ejecución, puede establecer la propiedad Axis.IntervalAutoMode en VariableCount.De esta manera, el gráfico calcula dinámicamente los intervalos del eje.Esto es útil si los intervalos del gráfico se muestran de forma diferente en función de los datos.
También puede utilizar una escala logarítmica si establece la propiedad Axis.IsLogarithmic en true.
Utilizar puntos de cruce
El área del gráfico representa los datos a partir del punto de cruce, el cual representa el valor de intersección de los ejes X e Y.Por ejemplo, si el punto de cruce del eje Y principal es 0, entonces un valor de punto de datos de 5 en un gráfico de columnas aparecerá como una columna que se extiende sobre la línea Y=0, mientras que un valor de punto de datos de -5 aparecerá como una columna que se extiende por debajo de la línea Y=0.
De forma predeterminada, el área del gráfico determina el punto de cruce automáticamente.Puede personalizar el valor del punto de cruce mediante la propiedad Axis.Crossing.
Nota
El valor que especifique en Axis.Crossing debe estar dentro de los límites superior e inferior especificados para las propiedades Axis.Minimum y Axis.Maximum.
Si cambia el punto de cruce a un valor no predeterminado, puede hacer que las etiquetas de eje y las marcas de paso se trasladen al área de trazado junto con el punto de cruce.Para mantener las etiquetas de eje y las marcas de paso fuera del área de trazado, establezca la propiedad Axis.IsMarksNextToAxis en False.
Utilizar quiebres de escala
Los quiebres de escala son saltos o roturas intencionales en el eje Y que se suelen utilizar con frecuencia para redistribuir los puntos de datos en un gráfico.Esto mejora la legibilidad cuando existen grandes diferencias entre los valores superiores e inferiores de los datos que se van a representar en el gráfico.Los saltos de escala se pueden definir mediante la propiedad Axis.ScaleBreakStyle.
Utilizar franjas
Las franjas en el área de trazado marcan puntos de datos individuales o resaltan un área de interés dentro del área de trazado.Para utilizar franjas, use la propiedad Axis.IsInterlaced o la propiedad Axis.StripLines.
Si establece la propiedad Axis.IsInterlaced en True, el gráfico dibuja franjas en intervalos alternos de la línea de cuadrícula para el eje respectivo.Si el eje respectivo no utiliza líneas de cuadrícula, entonces se utilizarán las marcas de paso o las etiquetas del eje para determinar el intervalo de franjas entrelazadas.Puede establecer el color de las franjas utilizando la propiedad Axis.InterlacedColor.
La propiedad de colección Axis.StripLines (un objeto StripLinesCollection) almacena objetos StripLine.El control Chart dibuja las franjas según el orden z de los objetos StripLine de Axis.StripLines.Cada objeto StripLine se dibuja repetidamente con un ancho, un intervalo y un desplazamiento especificados.Para dibujar una franja no repetida, establezca la propiedad StripLine.Interval en un número elevado, de modo que el gráfico contenga una sola instancia repetida.
El siguiente código muestra cómo utilizar la propiedad Axis.StripLines para dibujar una franja en el eje Y principal entre los valores 20 y 60.
chart1.ChartAreas(0).AxisY.StripLines.Add(New StripLine())
chart1.ChartAreas(0).AxisY.StripLines(0).BackColor = Color.FromArgb(80, 252, 180, 65)
chart1.ChartAreas(0).AxisY.StripLines(0).StripWidth = 40
chart1.ChartAreas(0).AxisY.StripLines(0).Interval = 1000
chart1.ChartAreas(0).AxisY.StripLines(0).IntervalOffset = 20
chart1.ChartAreas[0].AxisY.StripLines.Add(new StripLine());
chart1.ChartAreas[0].AxisY.StripLines[0].BackColor = Color.FromArgb(80, 252, 180, 65);
chart1.ChartAreas[0].AxisY.StripLines[0].StripWidth = 40;
chart1.ChartAreas[0].AxisY.StripLines[0].Interval = 10000;
chart1.ChartAreas[0].AxisY.StripLines[0].IntervalOffset = 20;