Zedgraph图表中X和Y的等比例

问题描述 投票:0回答:2

根据我对Zedgraph的经验,我无法设置X和Y轴的刻度相同,以获得正确的散点图!假设我们有一个10x10m单元的正方形网格,其中每个单元格是1x1m的正方形。当我们尝试绘制这些数据的点时,输出是不可接受的,因为每个轴都缩放到不同的比例。当我们尝试调用Zoomall时会更糟,然后我们发现所有点都适合图表区域而不管它们的间距是否相等!我希望有人能帮助我找到解决方案。虽然Zedgraph是灵活的库但这是一个大错!

scale zedgraph scatter
2个回答
0
投票

对于任何Axis.Scale,Scale.IsAnyOrdinal都是真的吗?

当Scale.Type设置为AxisType.Text,Ordinal,DateAsOrdinal或LinearAsOrdinal时,ZedGraph似乎基于索引偏移而不是节点值来定位节点。


0
投票

完全清楚,这个q。是9岁,但仍然..刚刚遇到并解决了在方框中显示图形的问题。 (这似乎是OP问题)它有点“粗暴”并调用冗余重绘,但完成工作。

        //"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);
        };
© www.soinside.com 2019 - 2024. All rights reserved.