Я пытаюсь создать группу диаграммных рядов, добавить данные в серию, а затем показать несколько серий, сделав их видимыми. Данные изменяются, и пользователь может выбрать, какую серию просматривать. Я думаю, что этот метод будет лучше, чем очистка всех серий с помощью chart.Series.Clear();
, а затем воссоздание серии по тому же методу.Создайте диаграмму, добавьте данные и установите видимость
Например, список автомобилей в автобазе со случайными милями, а затем выберите, какие автомобили показывать.
Код ниже не работает (я прокомментировал, где). Серия не является публичной, и я думаю, что их нужно добавить в публичную коллекцию, например, SeriesCollection
, но я не уверен, как это сделать.
Спасибо за любую помощь.
// create new chart series and add to a chartarea
ChartArea TestChartArea = new ChartArea();
public void CreateChartSeries()
{
List<string> lstCars = new List<string> { "Mazda", "Tesla", "Honda", "Jaguar", "Ford", "Toyota" };
foreach (string Car in lstCars)
{
// car series created correctly?
var Srs = new Series(Car);
Srs.ChartArea = TestChart.Name;
Srs.YAxisType = AxisType.Primary;
Srs.Color = Color.Red;
Srs.ChartType = SeriesChartType.Line;
TestChart.Series.Add(Srs);
}
}
// add data to chart series
public void SeriesData()
{
List<string> lstCars = new List<string> { "Mazda", "Tesla", "Honda", "Jaguar", "Ford", "Toyota" };
int[] Xseries = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] Milage = new int[10];
Random Random = new Random();
foreach (string Car in lstCars)
{
for (int M = 0; M < 10; M++)
Milage[M] = Random.Next(150, 15000);
// not sure how to call and add data to each series
Srs.Points.DataBindXY(Xseries, Milage);
}
}
// plot series - some visible
public void PlotCreatedSeries()
{
// not sure how to refer to each series
Mazda.Enabled = true;
Tesla.Enabled = false;
Honda.Enabled = true;
Jaguar.Enabled = false;
Ford.Enabled = true;
Toyota.Enabled = false;
}
Спасибо TaW - с вашей помощью я получил код для работы! – Zeus