Использую компонент Chart для отрисовки некоего графика. Размер самого компонента Chart прямоугольный(ширина в пикселях больше высоты). А вот размер области графика должен быть строго квадратным. Как делаю:
ChartGraphic.ChartAreas[0].Position.Height = 70;
ChartGraphic.ChartAreas[0].Position.Width = 70;
ChartGraphic.ChartAreas[0].Position.X = 3;
ChartGraphic.ChartAreas[0].Position.Y = 10;
Получается так:
Как видно - сама координатная система не квадратная. Как правильно её настроить?
У графика есть свойство ChartArea, а у него, в свою очередь, свойство Position, которое позволяет в процентах указать положение и размер графика относительно родительского контрола. Примерный код, который нужно поместить в событие Resize, чтобы график был всегда строго квадратным:
ChartGraphic.ChartAreas[0].Position.X = 3;
ChartGraphic.ChartAreas[0].Position.Y = 1;
if (ChartGraphic.Width < ChartGraphic.Height)
{
ChartGraphic.ChartAreas[0].Position.Width = 90;
ChartGraphic.ChartAreas[0].Position.Height = (float)(ChartGraphic.Width / 100.0 * 90 * 100) / ChartGraphic.Height;
}
else
{
ChartGraphic.ChartAreas[0].Position.Height = 90;
ChartGraphic.ChartAreas[0].Position.Width = (float)(ChartGraphic.Height / 100.0 * 90 * 100) / ChartGraphic.Width;
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости