代码之家  ›  专栏  ›  技术社区  ›  Neo

单个StackedColumnSeries每个StackedColumn

  •  1
  • Neo  · 技术社区  · 6 年前

    我正在从JQPlot迁移到Livecharts,并将fireFox嵌入到Livecharts中。

    我的功能几乎相同,但我现在遇到了一个可能的障碍。

    我的叠层列数据集将包含第一个叠层列的大量值(212个条目),但随后它将在第二个叠层列中急剧减少。

    查看代码,我必须在单个StackedColumnSeries中创建212个,并指定X轴上每个条目的值(31个条目)

    有没有办法指定单个X轴的值?这意味着firest StackedColumnSeries将包含212个条目,但第二个条目仅包含大约100个条目。这意味着我可以使用StackedColumnSeries上的Tag属性来存储对用于点击的对象的引用。

    我在下面提供了示例代码,说明我在这个过程中取得了多大的进展。

    enter image description here

    var SeriesCollection = new SeriesCollection{
                new StackedColumnSeries
                {
                    Values = new ChartValues<double> { 5, 5, 8, 0, 0, 8, 8, 5, 5, 5, 8, 0, 0, 8, 8, 5,  5, 5, 8, 0, 0, 8, 8, 5, 5, 5, 8, 0, 0, 8, 8},
                    Tag = new List<string>{"KEY0001", "KEY0002", "KEY0003", "ETC" }
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{5, 5, 8, 0, 0, 8, 8, 5, 5, 5, 8, 0, 0, 8, 8, 5, 5, 5, 8, 0, 0, 8, 8, 5, 5, 5, 8, 0, 0, 8, 8},
                    Tag = new List<string>{"KEY0011", "KEY0012", "KEY0013", "ETC" }
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{0, 5, 0, 0, 0, 0, 5, 0, 5, 0, 0, 0, 0, 5, 0, 5, 0, 0, 0, 0, 5, 0, 5, 0, 0, 0, 0, 0, 0, 0, 5},
                    Tag = new List<string>{"KEY0021", "KEY0022", "KEY0023", "ETC" }
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15},
                    Tag = new List<string>{"KEY0031", "KEY0032", "KEY0033", "ETC" }
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 8},
                    Tag = new List<string>{"KEY0041", "KEY0042", "KEY0043", "ETC" }
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },
                new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                },new StackedColumnSeries
                {
                    Values = new ChartValues<double>{8},
    
                }
    
    
            };
    
    
            SeriesCollection.Add(new LineSeries
            {
                Title = "Machine",
                Values = new ChartValues<decimal> { 16, 16, 16, 0, 0, 16, 8, 8, 16, 16, 16, 0, 0, 16, 8, 8, 16, 16, 16, 0, 0, 16, 8, 8, 16, 16, 16, 0, 0, 16, 8 },
                Stroke = new SolidColorBrush(System.Windows.Media.Color.FromScRgb((float)0.5, 100, 100, 100)),
                Fill = new SolidColorBrush(System.Windows.Media.Color.FromScRgb((float)0.5, 100, 100, 100))
            });
    
            SeriesCollection.Add(new LineSeries
            {
                Title = "Employee",
                Values = new ChartValues<decimal> { 24, 24, 16, 0, 0, 16, 16, 16, 24, 24, 16, 0, 0, 16, 16, 16, 24, 24, 16, 0, 0, 16, 16, 16, 24, 24, 16, 0, 0, 16, 16 },
            });
    
            cartesianChart1.Series = SeriesCollection;
            //8
            cartesianChart1.AxisX.Add(new Axis
            {
                Title = "Month",
                Labels = new[] { "03/05/2018", "04/05/2018", "05/05/2018", "06/05/2018", "07/05/2018", "08/05/2018", "09/05/2018", "10/05/2018" ,
                    "11/05/2018" , "12/05/2018" , "13/05/2018" , "14/05/2018" , "15/05/2018" , "16/05/2018" , "17/05/2018" , "18/05/2018" ,
                    "19/05/2018" , "20/05/2018" , "21/05/2018" , "22/05/2018" , "23/05/2018" , "24/05/2018" , "25/05/2018" , "26/05/2018" ,
                    "27/05/2018" , "28/05/2018" , "29/05/2018" , "30/05/2018" , "31/05/2018" , "01/06/2018", "02/06/2018" },
                Separator = DefaultAxes.CleanSeparator,
                MinValue = 0,
                MaxValue = 14
            });
            cartesianChart1.AxisY.Add(new Axis
            {
                Title = "Hours",
                LabelFormatter = value => value.ToString("N"), //convert it to a number
                MinValue = 0,
            });
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   t.karalis    6 年前

    由于我没有足够的代表发表评论,我只想添加这个作为回答,但更多的是一个评论。目前,LiveCharts StackedColumn系列还不能满足您的要求。所有列都将包含相同数量的序列,只是有些列不包含值。