Итак, я в конце концов нашел его, но я не думаю, что он очень хорошо документирован. Там каждый chartArea
имеет свойство ChartArea.Position. Это свойство типа ElementPosition, и содержит 4 объекта недвижимости, которые имеют отношение к этой проблеме.
Высота: Получает или задает высоту элемента диаграммы.
Ширина: Получает или задает ширину элемента диаграммы.
X: Получает или задает относительную координату X в верхнем левом углу применимого элемента диаграммы.
Y: Возвращает или задает относительную координату Y в верхнем левом углу применимого элемента диаграммы.
Когда вы копать глубже, то Height
и Width
свойства также указаны в относительных координатах, так что вы можете ввести только 0 - 100.
В принципе, вы должны изменить каждую высоту, и каждый Y, чтобы переместить сдвиньте их. После первоначального создания он не будет автоматически настраивать другие цифры.
Например, если я просто изменяю Height
chartArea [1] на что-то меньшее, он все равно будет закреплен там, где он был ранее, что имеет смысл, оставляя перед ним много свободного места.
Если я затем увеличу Height
схемы chartArea [0], он может нарисовать над chartArea [1], что мы просто изменили размер. Итак, я должен установить Y
chartArea [1], чтобы переместить его вниз, чтобы он не был нарисован, и пробел исчез.
Таким образом, чтобы получить что-то похожее на то, что я спросил в этом вопросе, я поставил его:
chart1.ChartAreas[0].Position.Y = 10;
chart1.ChartAreas[0].Position.Height = 60;
chart1.ChartAreas[1].Position.Y = 70;
chart1.ChartAreas[1].Position.Height = 20;
Чтобы сделать это объяснение более ясным, я буду ссылаться на контрольную карту, что эти chartAreas являются в качестве «родителя».
Это проценты, но для этого примера предположим, что размер родителя составляет 100 пикселей.
Это устанавливает первый график начала отображения в 10 пикселей и составляет около 60 пикселей в высоту. Затем он начинает отображать вторую диаграмму с разрешением 70 пикселей и составляет около 20 пикселей в высоту.
Если эта диаграмма была 200px высотой, то пропорции были бы одинаковыми, но на самом деле пиксели были бы вдвое (поэтому установка первой области диаграммы на 60 будет составлять 120 пикселей высотой).
Я сделал это немного больше в своей реальной программе, потому что у этого есть названия, переписывающие метки осей, но я чувствовал, что эти цифры помогли объяснить это лучше.
Код, пожалуйста ... –
@Peretz Для этой части я использую конструктор для создания диаграммы. Хотя я мог бы скопировать этот код, я не уверен, что все это будет полезно. Это всего лишь стандартная диаграмма с двумя диаграммами в ней. Не существует собственного кода, который влияет на это, просто дизайнер. Я пытаюсь понять, знает ли кто-нибудь код для этого. – Xantham