Как вручную расположить ASP.Net Chart Legend?
Используя элементы управления Chart, встроенные в ASP.Net, я пытаюсь вручную расположить заголовок и условные обозначения так, чтобы они находились непосредственно рядом друг с другом по горизонтали, чуть выше области ChartArea. Мне удалось вручную расположить заголовок, используя следующий код:
chart.Titles["Title1"].Position.Auto = false;
chart.Titles["Title1"].Position.X = 10;
chart.Titles["Title1"].Position.Y = 5;
В этом нет ничего особенного. Однако я пытаюсь расположить Легенду справа от нее с помощью следующего кода, и Легенда даже не появляется:
chart.Legends["Legend1"].Position.Auto = false;
chart.Legends["Legend1"].Position.X = 30;
chart.Legends["Legend1"].Position.Y = 5;
Есть идеи, что я делаю не так? Кажется, это должно быть относительно просто. Я даже пробовал различные другие координаты, и я не могу заставить Легенду появляться где-либо. Оно появляется, если я использую встроенное позиционирование, как показано ниже, но это позиционирование не соответствует моим целям:
chart.Legends["Legend1"].Docking = Docking.Top;
chart.Legends["Legend1"].DockedToChartArea = "ChartArea1";
chart.Legends["Legend1"].IsDockedInsideChartArea = false;
chart.Legends["Legend1"].Alignment = StringAlignment.Far;
2 ответа
Попробуйте обновить ElementPosition
объект, как это:
chart.Legends["Legend1"].Position.Auto = false;
chart.Legends["Legend1"].Position = new ElementPosition(30, 5, 100, 20);
Примечание: конструктор для ElementPosition
принимает 0 или 4 параметра (x, y, ширина, высота).
Я наткнулся на этот вопрос, чтобы посмотреть, как переместить легенду внизу диаграммы.
Ответ за это использовать Docking
имущество
Chart1.Legends["Legend1"].Docking = Docking.Bottom;
Это может быть полезно для кого-то в будущем, так как это первая ссылка в поиске Google.