あなたのチャートで、実際のDateTime値を使用したい場合は、ここでそれを設定する方法である:ここ
Series s = chart1.Series[0];
Axis ax = chart1.ChartAreas[0].AxisX;
s.ChartType = SeriesChartType.Line;
s.XValueType = ChartValueType.Time;
DateTime dt0 = DateTime.MinValue; // any date will do, just know which you use!
ax.Minimum = dt0.AddSeconds(0).ToOADate();
ax.Maximum = dt0.AddSeconds(600).ToOADate();
ax.Interval = 10;
ax.IntervalType = DateTimeIntervalType.Seconds;
ax.MajorGrid.Interval = 15;
ax.MajorGrid.IntervalType = DateTimeIntervalType.Seconds;
ax.MinorGrid.Interval = 5;
ax.MinorGrid.IntervalType = DateTimeIntervalType.Seconds;
ax.LabelStyle.Interval = 60;
ax.LabelStyle.IntervalType = DateTimeIntervalType.Seconds;
ax.LabelStyle.Format = "mm:ss";
for (int i = 0; i < 10; i++)
{
s.Points.AddXY(dt0.AddSeconds(rnd.Next(30) + 40 * i).ToOADate(), i);
}
は結果である:
![enter image description here](https://i.stack.imgur.com/s0T2J.png)
あなたが代わりにすべてを保つことができますナンバードメインで。しかし、その後、あなたは倍のx軸のラベルをフォーマットしたり、または問題であってもなくてもよい、直接時間値を計算する際にx値を使用することはできません。お時間を
s.XValueType = ChartValueType.Int32;
ax.Minimum = 0;
ax.Maximum = 600;
ax.Interval = 10;
ax.IntervalType = DateTimeIntervalType.Number;
ax.MajorGrid.Interval = 15;
ax.MajorGrid.IntervalType = DateTimeIntervalType.Number;
ax.MinorGrid.Interval = 5;
ax.MinorGrid.IntervalType = DateTimeIntervalType.Number;
ax.LabelStyle.Interval = 60;
ax.LabelStyle.IntervalType = DateTimeIntervalType.Number;
![enter image description here](https://i.stack.imgur.com/9xmJG.png)
出典
2016-10-02 11:21:18
TaW
感謝これを書いてください。私はオーバーフローエラーを取得していますが。私は、グラフ上のX軸がフレームごとに生成されていると言っていたはずです。したがって、10分のビデオには約4000フレームあります。だから私はこれが私が間違っているところだと思う。 – user2924019
はい、おそらく。開始時刻に追加することで、DataPointの時刻値をどのように作成するのか注意してください。どのようにしてDataPoints – TaW
を追加するのですか?ビデオのすべてのフレームにMy codeループを適用し、すべてのフレームの動き値を生成します。私はこれを単にチャートに追加します: 'chart1.Series [" Series1 "]。Points.AddY(valueToAdd);' – user2924019