根据我对Zedgraph的经验,我无法设置X和Y轴的刻度相同,以获得正确的散点图!假设我们有一个10x10m单元的正方形网格,其中每个单元格是1x1m的正方形。当我们尝试绘制这些数据的点时,输出是不可接受的,因为每个轴都缩放到不同的比例。当我们尝试调用Zoomall时会更糟,然后我们发现所有点都适合图表区域而不管它们的间距是否相等!我希望有人能帮助我找到解决方案。虽然Zedgraph是灵活的库但这是一个大错!
对于任何Axis.Scale,Scale.IsAnyOrdinal都是真的吗?
当Scale.Type设置为AxisType.Text,Ordinal,DateAsOrdinal或LinearAsOrdinal时,ZedGraph似乎基于索引偏移而不是节点值来定位节点。
完全清楚,这个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);
};