Выборочное скрытие рядов на диаграмме c#
допустим, у меня есть диаграмма с 2 сериями на ней. Затем для каждой серии, у меня есть флажок, чтобы сказать, Хочу ли я их видеть или нет. Предположим, что я изначально замышлял и то, и другое, а потом хотел скрыть одно из них. Как лучше всего это сделать?
Я знаю, что мог бы просто Clear()
и затем AddXY()
они вернулись, но есть ли более быстрый способ сделать это?
мои попытки идеи:
1. Задайте свойству visibility значение true / false в зависимости от флажок.
свойство видимости отсутствует
2. Скопируйте коллекцию точек в переменную, очистите и верните обратно.
Series[].Points
доступно только для чтения
3. Скопируйте ряд в переменную, очистите точки и вставьте обратно.
по-видимому, он хранит серию в качестве ссылки, когда я пытаюсь это сделать, и я не могу найти команду копирования.
Так что я, видимо, идет об этом неправильный путь. Как бы вы динамически разрешили диаграмме иметь разные ряды спрятан?
2 ответов
чтобы скрыть серию в MSChart, используйте Enabled
собственность таким образом :
msChart.Series["Series"].Enabled = false;
и чтобы показать это снова :
msChart.Series["Series"].Enabled = true;
таким образом, вам не нужно удалять точки и повторно добавлять их.
есть другой способ сделать это, не скрывая легенда.
просто сказать:
Chart.Series[0].Color = Color.FromArgb(0, 0, 0, 0); //sets color to transparent
вы можете сбросить цвет.Пустой позже, чтобы восстановить цвет по умолчанию.
единственным недостатком здесь является то, что если последний элемент в серии не скрыт, другие строки будут перекрашены