Как отобразить несколько графиков, имеющих общую ось X, используя библиотеку ZedGraph? - PullRequest
9 голосов
/ 06 июля 2011

Мне нужно отобразить несколько графиков, которые имеют общую ось X и легенду. То, чего я хочу достичь, отображается на картинке. Основная цель - иметь несколько осей Y на одной линии, а не паралельно. Таким образом, несколько кривых могут отображаться без пересечения друг с другом.

Я знаю, как отобразить несколько графиков, но тогда у каждого из них есть своя легенда и ось Y.

enter image description here

1 Ответ

7 голосов
/ 20 сентября 2011

Я работал с ZedGraph в двух моих проектах, и, похоже, эта функция не поддерживается.На данный момент у вас есть два варианта:

1.Используйте другую библиотеку для черчения

Если у вас мало чего зависит от ZedGraph, возможно, еще не поздно переключиться на другой элемент управления черчением.Я работал с этой библиотекой (ссылка на CodeProject) , и она неплохо выглядит и поддерживает составные графики:

enter image description here

Она менее многофункциональна по сравнению сZedGraph, но если 2d-plotting - это все, что вам действительно нужно, вам, вероятно, стоит попробовать.

2.Чит, создав несколько панелей ZedGraph

Вы можете сделать так, чтобы все панели графиков имели одинаковую ширину и одинаковый масштаб.Установив для свойства IsSynchronizeXAxes значение true, вы убедитесь, что все панели в элементе управления ZedGraph автоматически синхронизируют свои оси X.

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

Вы также должны скрыть ось X и все остальное, что вам не нужно.Одиночная легенда сложна, но ее можно достичь, только показав легенду для самого верхнего графика и добавив поддельные фиктивные кривые без точек на этот график для заполнения легенды.

...