3

私は MSCharts を使用しており、軸に日付を使用していますが、最後のグリッド線の軸ラベルが非表示になっていることに気付きました。下の画像はこれを示しています。

壊れたチャート軸

私がこれに使用しているコードは次のとおりです。

Public Function buildXAxis(ByVal chartArea As ChartArea, ByVal min As DateTime, ByVal max As DateTime) As Axis
        Dim xAxis As New Axis(chartArea, AxisName.X) 'Chart Area is passed into the function
        With xAxis
            .Interval = 3 'This is the interval, so the next visible label should be 7/1/2013
            .IntervalType = DateTimeIntervalType.Months 
            .IntervalAutoMode = IntervalAutoMode.FixedCount
            .Maximum = max.ToOADate 'In this instance, it is 7/29/2013
            .Minimum = min.ToOADate 'In this instance, it is 1/29/2013
            .TitleAlignment = Drawing.StringAlignment.Center
            .TitleForeColor = Drawing.Color.FromArgb(129, 127, 124)
            .TextOrientation = TextOrientation.Auto
            .LabelAutoFitStyle = LabelAutoFitStyles.LabelsAngleStep45
            Dim xLabelStyle As New LabelStyle
            xLabelStyle.TruncatedLabels = False
            xLabelStyle.IsStaggered = False
            xLabelStyle.Format = "d"
            .LabelStyle = xLabelStyle
            .MajorGrid.LineColor = Drawing.Color.FromArgb(129, 127, 124)
            .MinorGrid.LineColor = Drawing.Color.FromArgb(129, 127, 124)
            .MajorTickMark.LineColor = Drawing.Color.FromArgb(129, 127, 124)
            .MinorTickMark.LineColor = Drawing.Color.FromArgb(129, 127, 124)
        End With
        Return xAxis
    End Function

これらのラベルが隠されている理由を誰か知っていますか? コードによると、グリッド線は適切な場所 (3 か月ごと) にありますが、軸ラベルは単に表示されず、実際にこのコードを変更する唯一の場所です。

4

1 に答える 1

4

LabelStyle.IsEndLabelVisible は、最初と最後のラベルを表示するかどうかを制御します。

MSDN エントリは次のとおりです。

あなたが投稿しなかったコードのどこかに、次の行に沿ったものがあると思います。

Dim chartingArea As New ChartArea
chartingArea.AxisX.LabelStyle.IsEndLabelVisible = False

デフォルトはtrueであるため、これをtrueに変更するか、完全に削除する必要があります。

于 2013-07-29T21:25:00.600 に答える