2013-03-13 4 views
0

Я создал элемент управления диаграммой (формально Dundas Chart, но это стандартный контроль диаграммы с 4.0) в приложении Winforms, который имеет две области. Верхняя область представляет собой график «запаса», а нижняя область - графа «столбцов». Две области этого управления диаграммой выстроены одинаково справа, но варьируются слева.Диаграмма Площадь Несоответствие длины оси

На следующем рисунке показаны красные стрелки, отображающие разницу в длине между двумя областями.

enter image description here

Для этих двух областей, чтобы работать вместе, они должны быть одинаковой длины вдоль оси х, так что каждый маркер в верхней области выстроились с маркером на дне. Хотя разница между ними минимальна для небольших наборов данных, это гораздо более заметно, поскольку это изменяется.

Я думаю, что причина разницы между ними состоит в том, что они разные типы диаграмм. Я попытался получить длину верхней области в надежде на масштабирование, но, похоже, нет способа получить длину оси.

Я был бы очень признателен за любые ссылки, советы или даже спекуляции в отношении решения этой проблемы.

спасибо.

ответ

0

Итак, после небольшого исследования я смог изолировать проблему. Внутри диаграммы каждого графа существует структура innerplotposition, которая содержит значения, относящиеся к оси X и Y, а также высоту, ширину и автомасштабирование. Я устанавливал каждый график, чтобы он не автоматически масштабировал и сопоставлял значения каждого chartarea изнутри innerplotposition. Это правильно выравнивает графики.

На стороне примечания, так как это ценно и связано, область диаграммы также имеет структуру позиции, которая позволяет позиционировать область диаграммы (например, поднимать диаграммы по отношению друг к другу).

+0

Не могли бы вы предоставить дополнительную информацию по коду? – Smokie