在使用 Microsoft Charts 创建图表时,我需要获取图表上网格的准确位置。
This page 说——据我所知——这可以通过 InnerPlotPosition 实现。但是,在使用此属性时,我得到以下矩形:
这个矩形似乎与图表大小成比例;调整图表大小时,矩形缩小,但仍保持在所有边缘的网格外部。我已经尝试用一个常数将尺寸相加和相乘,但没有一个常数适用于所有尺寸。
所以,澄清一下,我想要的是网格上的外部黑色矩形。有什么办法可以得到这个吗?
(我一直在考虑从边缘扫描像素,并检测每个方向上的第一个黑色像素,但这听起来像是一个糟糕的 hack。)
最佳答案
我终于找到了一个可行的解决方案:
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);
关于c# - MS 图表 : Getting the real InnerPlotPosition?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7283394/