Я нахожусь в процессе потенциальной миграции от JQPlot и внедрил fireFox в Livecharts.
У меня почти такая же функциональность, но я столкнулся с возможной ошибкой.
МойНабор данных для столбцов с накоплением будет содержать большое количество значений для первого столбца с накоплением (212 записей), но затем резко сократится на второй столбец с накоплением.
Глядя на код, я должен создать 212 отдельныхStackedColumnSeries и укажите значения для каждой записи по оси X (31 запись)
Можно ли указать значения для одной оси X?Это будет означать, что самый старый StackedColumnSeries будет содержать 212 записей, но второй будет содержать только около 100. Это будет означать, что я могу использовать свойство Tag в StackedColumnSeries для хранения ссылки на объект, используемый для перехода по клику.
Ниже приведен пример кода относительно того, как далеко я продвинулся в этом процессе.
![enter image description here](https://i.stack.imgur.com/eddHR.png)
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,
});