Tienda Web
Área de Clientes
MindFusion

P: ¿Su componente soporta líneas discontínuas en un gráfico de líneas? Me gustaría tener una línea que empiece sólida pero se vuelva discontinua mientras avanza. ¿Es esto posible?

R: Es muy fácil crear un gráfico de líneas con series que tienen líneas discontinuas. Usted solamente tiene que estableder la propiedad StrokeDashArray de LineSeries. Usted tiene todas las otras propiedad para personalizar una línea discontinua – StrokeDashCap, StrokeDashOffset etc. – usted puede verlas todas aquí. A continuación hay un código de ejemplo acerca de cómo crear una linea discontinua:

 var indexes = new List() { 1, 2, 3, 4 };

 LineSeries series2 = new LineSeries();
 series2.YDataPath = "AsiaSales";
 series2.StrokeDashArray = new DoubleCollection() {4, 2 };
 series2.XData = indexes;
 lineChart1.Series.Add(series2);


En cuanto a su segunda pregunta – no soportamos el cambio de marcha para una serie dada directamente. De todas maneras, podemos sugerirle una alternativa – usted puede crear dos LineSeries que representarán la combinación de series que desea. La primera serie será sólida, la segunda comenzará desde el último punto de la primera línea y será discontinua. Aquí está un código de ejemplo:

 LineSeries series3 = new LineSeries();
 for (int i = 0; i < salesList.Count / 2; i++)
 {
 Sales s = salesList[i];
 series3.YData.Add(s.USASales);
 }

 series3.XData = new List { 1, 2 };
 lineChart1.Series.Add(series3);

 LineSeries series4 = new LineSeries();

 for (int i = salesList.Count / 2 - 1; i < salesList.Count; i++)
 {
 Sales s = salesList[i];
 series4.YData.Add(s.USASales);
 }

 series4.XData = new List { 2, 3, 4 };
 series4.Strokes.Clear();
 series4.Strokes.Add(new SolidColorBrush(Colors.Red));
 series4.StrokeDashArray = new DoubleCollection() { 4, 2, 7, 1 };
 lineChart1.Series.Add(series4);

En los fragmentos de código anteriores utilizamos la siguiente lista como una fuente de datos:

 var salesList = new List()
 {
 new Sales(){Category="apples", EuropeSales=34, AsiaSales=12, USASales=24},
 new Sales(){Category="oranges", EuropeSales=23, AsiaSales=17, USASales=10},
 new Sales(){Category="bananas", EuropeSales=4, AsiaSales=31, USASales=27},
 new Sales(){Category="cherries", EuropeSales=8, AsiaSales=9, USASales=30} 
 };


 public class Sales : INotifyPropertyChanged
 {
 public string Category { get; set; }
 public double EuropeSales { get; set; }
 public double AsiaSales { get; set; }
 public double USASales { get; set; }
 }



Copyright © 2001-2024 MindFusion LLC. All rights reserved.
Terms of use - Contactos