Почему мои метки X-Axes исчезают, когда я масштабирую с помощью MS Chart Controls? - PullRequest
0 голосов
/ 16 ноября 2011

Я использую MS Chart Controls.Линейный график - это график, основанный на нормальном времени.Проблема в том, что когда я щелкаю диаграмму и выбираю время, когда она увеличивается, появляется полоса прокрутки и исчезают метки оси X.Как я могу предотвратить это?Если я не могу исправить это автоматически, есть ли код, который я могу добавить к кнопке, которая исправит ярлыки?

private void Chart0Configuration()
    {
        chart1.ChartAreas[0].Visible = false;
        chart1.ChartAreas[0].AlignmentOrientation = AreaAlignmentOrientations.Vertical;
        chart1.ChartAreas[0].AlignmentStyle = AreaAlignmentStyles.All;

        chart1.ChartAreas[0].Position.Auto = false;
        chart1.ChartAreas[0].Position.X = 2;
        chart1.ChartAreas[0].Position.Y = 10;
        chart1.ChartAreas[0].Position.Width = 98;
        //chart1.ChartAreas[0].Position.Height = *****variable


        //chart1.ChartAreas[0].AxisY.MajorTickMark.Enabled = false;
        //chart1.ChartAreas[0].AxisY.MinorTickMark.Enabled = false;
        //chart1.ChartAreas[0].AxisY.MajorGrid.Enabled = false;

        //chart1.ChartAreas[0].AxisX.MajorTickMark.Enabled = true;
        //chart1.ChartAreas[0].AxisX.MinorTickMark.Enabled = true;
        //chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = true;
        //chart1.ChartAreas[0].AxisX.MajorTickMark.Interval = 10;

        chart1.ChartAreas[0].AxisX.Interval = 0;
        chart1.ChartAreas[0].AxisX.IntervalAutoMode = IntervalAutoMode.VariableCount;

        chart1.ChartAreas[0].AxisX.LabelStyle.Enabled = true;
        //chart1.ChartAreas[0].AxisX.LabelStyle.Format = "hh:mm:ss";
        chart1.ChartAreas[0].AxisY.LabelStyle.IsEndLabelVisible = true;

        chart1.ChartAreas[0].InnerPlotPosition.Auto = false;
        chart1.ChartAreas[0].InnerPlotPosition.X = 3;
        chart1.ChartAreas[0].InnerPlotPosition.Y = 10;
        chart1.ChartAreas[0].InnerPlotPosition.Width = 88;
        chart1.ChartAreas[0].InnerPlotPosition.Height = 80;

        chart1.ChartAreas[0].CursorX.IsUserEnabled = true;
        chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
        //chart1.ChartAreas[0].CursorX.AutoScroll = true;
        chart1.ChartAreas[0].CursorX.Position = 0;
        chart1.ChartAreas[0].CursorX.Interval = 0;


        chart1.ChartAreas[0].AxisX.ScrollBar.Size = 5;
        chart1.ChartAreas[0].AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.SmallScroll;
        chart1.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = true;
        chart1.ChartAreas[0].AxisX.ScrollBar.BackColor = Color.LightGray;
        chart1.ChartAreas[0].AxisX.ScrollBar.ButtonColor = Color.Gray;
        chart1.ChartAreas[0].AxisX.ScrollBar.LineColor = Color.Black;                               
        chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
    }

1 Ответ

2 голосов
/ 17 ноября 2011

Я случайно нашел ответ, глядя на интервалы.Теперь они остаются видимыми, когда я добавил следующую строку кода.

chart1.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Days;
...