1

まとめたチャートにStripLinesを表示しようとしていますが、これまでのところ、それらを表示することに喜びがありませんでした。

    Public Sub AddExtraChartData(ByVal fromTime As DateTime, ByVal toTime As DateTime)
    ' create a background strip line for any records held within here
    Dim sl As New Charting.StripLine()

    sl.IntervalOffset = fromTime.ToOADate()
    sl.IntervalOffsetType = Charting.DateTimeIntervalType.Minutes
    Console.WriteLine("strip_interval_offset: " + sl.IntervalOffset.ToString())

    sl.BackColor = Color.Red
    sl.StripWidth = toTime.ToOADate() - fromTime.ToOADate()

    Console.WriteLine("Length of downtime: " + sl.StripWidth.ToString())
    sl.StripWidthType = Charting.DateTimeIntervalType.Minutes

    Chart1.ChartAreas(0).AxisX.StripLines.Add(sl)

    Console.WriteLine("Strip Line Count in Chart1.ChartAreas(0): ?" + Chart1.ChartAreas(0).AxisX.StripLines.Count.ToString())

    Chart1.Invalidate()
End Sub

経過した間隔で (マシンのダウンタイム レポート用に) 時間の「チャンク」でそれらを表示する必要がありますが、グラフ自体以外には何も表示されません。ストリップラインが元の境界の外側に追加された場合、チャートはそれを表示するために再スケーリングされるという考えは正しいですか? それとも失われるのでしょうか?

私のVSデバッグによると:

strip_interval_offset: 41493.4617361111
Length of downtime: 0.0181250000023283
Strip Line Count in Chart1.ChartAreas(0): ?5

そのため、それらが追加されています。.Add() を削除して 0 にすることができますが、なぜ表示されないのでしょうか?

他の情報。私のグラフは 10 分間隔の DateTime 形式で、XValue にはインデックスが付けられています (非アクティブの時間をギャップとして表示するため)。

どんな助けでも大歓迎です、ありがとう。

4

0 に答える 0