MS Charts:获得真正的InnerPlotPosition?

Erl*_* D. 3 .net c# mschart

使用Microsoft Charts创建图表时,我需要在图表上获得网格的确切位置.

这个页面说 - 据我所知 - 这可以用InnerPlotPosition实现.但是,使用此属性时,我得到以下矩形:InnerPlotPosition

这个矩形似乎与图表大小成比例; 在调整图表大小时,矩形会缩小,但仍会在所有边缘上保持在网格外部.我已尝试使用常量添加和乘以大小,但没有一个常量适用于所有大小.

所以,只是为了澄清,我想要的是网格上的外部黑色矩形.有没有办法得到这个?

(我一直在考虑从边缘扫描像素,并检测每个方向上的第一个黑色像素,但这听起来像是一个肮脏的黑客.)

Erl*_* D. 7

我终于找到了一个有效的解决方案:

     ChartArea a = chart.ChartAreas[0];
     double x1 = a.AxisX.ValueToPixelPosition(a.AxisX.Minimum);
     double x2 = a.AxisX.ValueToPixelPosition(a.AxisX.Maximum);
     double y1 = a.AxisY.ValueToPixelPosition(a.AxisY.Maximum);
     double y2 = a.AxisY.ValueToPixelPosition(a.AxisY.Minimum); 
Run Code Online (Sandbox Code Playgroud)