将ZedGraph图例定位在右中而不是右上角?

将ZedGraph图例定位在右中而不是右上角?,graph,zedgraph,Graph,Zedgraph,是否有方法使用ZedGraph定位图例,使其位于右侧,但垂直居中。使用: output.Legend.Position = ZedGraph.LegendPos.Right 将图例放置在右上角,但在饼图旁边,看起来未对齐。有没有办法让图例垂直居中? 更改output.Legend.Location.Y似乎没有效果,尝试output.Legend.Location.AlignV=ZedGraph.AlignV.Center也没有效果 作为对以下第一个答案的回应添加 浮动、减小图表大小并将标签定位

是否有方法使用ZedGraph定位图例,使其位于右侧,但垂直居中。使用:

output.Legend.Position = ZedGraph.LegendPos.Right
将图例放置在右上角,但在饼图旁边,看起来未对齐。有没有办法让图例垂直居中? 更改
output.Legend.Location.Y
似乎没有效果,尝试
output.Legend.Location.AlignV=ZedGraph.AlignV.Center也没有效果

作为对以下第一个答案的回应添加

浮动、减小图表大小并将标签定位在垂直中心,这比我以前管理的要好。不幸的是,它有一个副作用,即图例切换到多列,并试图占据整个图表区域的一半宽度,因此通常与图表重叠(见图)。查看ZedGraph源代码,此较宽模式用于除左侧和右侧之外的所有布局


位置
仅在
图例时启用。位置
设置为
浮动

你可以这样做:

图例部分绘制在图表内部,这可能是不需要的“特征”:

要解决此问题,我相信您还必须手动调整图表的大小:

output.Chart.Rect = new RectangleF(xstart, ystart, xsize, ysize);

位置
仅在
图例时启用。位置
设置为
浮动

你可以这样做:

图例部分绘制在图表内部,这可能是不需要的“特征”:

要解决此问题,我相信您还必须手动调整图表的大小:

output.Chart.Rect = new RectangleF(xstart, ystart, xsize, ysize);

安德斯的回答几乎奏效了,只是有一个副作用,那就是改变了传说的宽度。这让我下载了源代码来找出原因,我发现legend定位代码实际上非常简单<代码>LegendPos.Right
在代码中仅引用了两次,两次都在
Legend.CalcRect
添加新的
LegendPos.MiddleRight
只需要将其添加到枚举中,将
MiddleRight
的案例添加到运行与
Right
相同代码的第一个开关中。在
CalcRect
中的第二个开关中:

    case LegendPos.MiddleRight:
        newRect.X = clientRect.Right - totLegWidth;
        newRect.Y = tChartRect.Top + tChartRect.Height / 2 - totLegHeight / 2;
        tChartRect.Width -= totLegWidth + gapPix;
        break;

这与LegendPos.Right的代码相同,除了newRect.Y行。

安德斯的答案几乎奏效,除了它有改变图例宽度的副作用。这让我下载了源代码来找出原因,我发现legend定位代码实际上非常简单<代码>LegendPos.Right在代码中仅引用了两次,两次都在
Legend.CalcRect
添加新的
LegendPos.MiddleRight
只需要将其添加到枚举中,将
MiddleRight
的案例添加到运行与
Right
相同代码的第一个开关中。在
CalcRect
中的第二个开关中:

    case LegendPos.MiddleRight:
        newRect.X = clientRect.Right - totLegWidth;
        newRect.Y = tChartRect.Top + tChartRect.Height / 2 - totLegHeight / 2;
        tChartRect.Width -= totLegWidth + gapPix;
        break;

这与LegendPos.Right的代码相同,除了newRect.Y行。

谢谢,回答得好,虽然有一个副作用,即图例一旦浮动就会变宽,因此要么与图表重叠,要么图表必须非常小。我用图片更新了这个问题。我接受了这个答案,因为它引导我找到了最终的解决方案。谢谢,这个答案很好,尽管有一个副作用,即图例一旦浮动,就会变得非常宽,所以要么与图表重叠,要么图表必须非常小。我用图片更新了这个问题。我接受了这个答案,因为它引导我找到了最终的解决方案。斯图尔特,干得好!我绝对认为你应该提供这个补丁给,我相信它也会对其他人有用。斯图尔特,做得好!我绝对认为您应该向提供此修补程序,我相信它也会对其他人有用。