我创造了一个
Chart
ChartArea
Series
使用的是
SeriesChartType.Bar
Bar
Zoom
我的方法
Paint
事件处理程序如下:
private void chart1_Paint(object sender, PaintEventArgs e)
{
var scaleView = chart1.ChartAreas.First().AxisX.ScaleView;
var pos = double.IsNaN(scaleView.Position) ? 0.0 : scaleView.Position;
scaleView.Zoom(pos, pos + chart1.Height / 22.0);
}
我不知道这样做是否合适,但它(几乎)满足了我的要求:
只有一件恼人的事:如果由于滚动一个长标签出现在可见区域或消失,由标签占据的区域被调整为最长的可见标签。我希望这些截图能解释我的意思:
在这里,我向上滚动了一个单位,这样长标签就不再可见了:
如何固定标签占用的区域以始终适合系列中最长的标签,而不管它当前是否可见?我试过了
IsLabelAutoFit = false
对于x轴和y轴,但这都没有帮助。