Равная шкала для X и Y на диаграмме Зедграфа - PullRequest
0 голосов
/ 12 марта 2010

Исходя из моего опыта работы с Zedgraph, я не смог установить одинаковую шкалу осей X и Y, чтобы получить правильный график рассеяния!Предположим, у нас есть квадратная сетка из ячеек 10x10m, в которой каждая ячейка имеет квадратную форму 1x1m.когда мы пытаемся нарисовать точки таких данных, вывод не является приемлемым, потому что каждая ось масштабируется в разном масштабе.Хуже, когда мы пытаемся вызвать Zoomall, тогда мы обнаруживаем, что все точки соответствуют области графика независимо от их равного расстояния!Я надеюсь, что кто-то может помочь мне найти решение.Хотя Zedgraph - гибкая библиотека, но это большая ошибка!

Ответы [ 2 ]

0 голосов
/ 18 марта 2019

прекрасно осознавая, это д. 9 лет, но все же .. Только что столкнулись и решили вопрос представления графа в квадратной панели. (Кажется, это был вопрос ОП) Это немного "грубо" и вызывает избыточные перерисовки, но выполняет свою работу.

        //"GraphWinFormsHost" is my ZGraph container
        GraphWinFormsHost.SizeChanged += (sender, args) =>
        {
            //"IsEqualScale" is my property, indicating a square is needed
            if(_ChartData == null || !_ChartData.IsEqualScale)
                return;

            _ZedGraphControl.GraphPane.Chart.IsRectAuto = true;
            _ZedGraphControl.Refresh();

            //here, the graph pane is redrawn according to available space
            float x = _ZedGraphControl.GraphPane.Chart.Rect.X;
            float y = _ZedGraphControl.GraphPane.Chart.Rect.Y;
            float h = _ZedGraphControl.GraphPane.Chart.Rect.Height;
            float w = _ZedGraphControl.GraphPane.Chart.Rect.Width;
            float min = Math.Min(h, w);
            _ZedGraphControl.GraphPane.Chart.Rect = new RectangleF(x, y, min, min);
        };
0 голосов
/ 14 января 2011

Действительно ли Scale.IsAnyOrdinal для любого Axis.Scale?

ZedGraph позиционирует узлы на основе смещения индекса, а не значения узла, когда Scale.Type установлен в AxisType.Text, Ordinal, DateAsOrdinal или LinearAsOrdinal.

...