私は4つのデータ系列を表示するために.Net 4のMS Chartコントロールを使用していますが、X軸はdatetime型に設定されています。Datetime型MS上のX軸週末を表示しないでChartコントロール
データに週末の日付が含まれていなくても、グラフに週末が含まれる間隔を日数に設定します。
すべてのシリーズには同じ日付ポイントがありますが、例外は最後の日付から始まり、週末を除く多くの就業日に続きます。
すべてのシリーズのチャートから週末(または価値のない日付)の表示を削除するにはどうすればよいですか?
これはwinforms .Net 4.0アプリケーションです。あなたは何をすべきかであるDateTime
、としてx値を追加している
DateTime dt = DateTime.Now;
chart1.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Days;
Series test1 = new Series("Test1");
test1.XValueType = ChartValueType.Date;
for (int i = 1; i < 7; i++)
{
//skip the weekend
if (dt.DayOfWeek.ToString() == "Saturday") dt = dt.AddDays(1);
if (dt.DayOfWeek.ToString() == "Sunday") dt = dt.AddDays(1);
test1.Points.AddXY(dt.Date, i);
dt = dt.AddDays(1);
i++;
}
chart1.Series.Add(test1);
Series test2 = new Series("Test2");
test1.XValueType = ChartValueType.Date;
for (int i = 1; i < 7; i++)
{
//skip the weekend
if (dt.DayOfWeek.ToString() == "Saturday") dt = dt.AddDays(1);
if (dt.DayOfWeek.ToString() == "Sunday") dt = dt.AddDays(1);
test2.Points.AddXY(dt.Date, i);
dt = dt.AddDays(1);
i++;
}
chart1.Series.Add(test2);
foreach (var series in chart1.Series)
{
series.ChartType = SeriesChartType.Line;
series.BorderWidth = 5;
series.IsXValueIndexed=true;
}
chart1.ChartAreas[0].AxisX.LabelStyle.Angle = 45;
chart1.ChartAreas[0].AxisX.LabelStyle.Interval = 1;
こんにちはTaw、あなたの返信ありがとう、私は上記のコードを私の問題を表示するために追加しました!私はすべてのtest2のものをコメントアウトする場合は、私は赤いXを取得するtest1の両方で動作する 私は両方のシリーズにテスト1とtest2のすべての日付の空のデータポイントを追加する必要がありますか? – Adrian
はい、実際に__wanted__を2つのシリーズ間でリセットせずに 'dt'をカウントアップし続ける場合です。 – TaW
はいこれは実例の単なる例です。シーケンスをプロットし、そのラインを延長する投影を追加します。 空のデータポイントをすべてtest2の初めを超え、test1の終了後に追加するにはどうすればよいですか? 私はそれをどうやって行うのか教えていただけますか? – Adrian