X軸ラベルのTelerik Silverlightチャートの予期しない日付出力
-
28-10-2019 - |
質問
したがって、カスタムビジネスオブジェクトのリストをRADチャートにバインドしています。この場合、1年間の毎月の収益の概要です。 X軸ラベルに設定している日付は、私がそれらを設定したものとしてレンダリングされていません。
これが私の基本コードです、あなたはそれがのリストを取得することを見ることができます 月間産業 特定の年のオブジェクト。 月間産業 オブジェクトには異なるプロパティがありますが、このシナリオの主なプロパティは Monthledger.full_date と Monthledger.Revenue_Amount.
List<monthLedger> year = getYearRevenueByMonth(2011);
DataSeries ser = new DataSeries();
foreach(monthLedger month in year)
{
ser.Add(new DataPoint
{
YValue = Convert.ToDouble(month.Revenue_Amount),
Label = month.Revenue_Amount.ToString("0.00###"),
XValue = month.Full_Date.ToOADate()
});
}
radChart1.DefaultView.ChartArea.AxisX.IsDateTime = true;
radChart1.DefaultView.ChartArea.AxisX.AutoRange = true;
radChart1.DefaultView.ChartArea.AxisX.DefaultLabelFormat = "dd-MMM";
radChart1.DefaultView.ChartArea.DataSeries.Add(ser);
これは、2011年のリストに掲載されるデータです(Full_date || Revenue_Amount):
- {01/01/2011 12:00:00 AM} || 0.00
- {01/02/2011 12:00:00 AM} || 0.00
- {01/03/2011 12:00:00 AM} || 0.00
- {01/04/2011 12:00:00 AM} || 0.00
- {01/05/2011 12:00:00 AM} || 0.00
- {01/06/2011 12:00:00 AM} || 0.00
- {01/07/2011 12:00:00 AM} || 0.00
- {01/08/2011 12:00:00 AM} || 0.00
- {01/09/2011 12:00:00 AM} || 0.00
- {01/10/2011 12:00:00 AM} || 0.00
- {01/11/2011 12:00:00 AM} || 246.50
- {01/12/2011 12:00:00 AM} || 311.60
私が得ると予想されるのは、12か月の素晴らしいチャートですが、13列がグラフ化され、ラベル付けされた日付はOLEオートメーションの日付に変換したものとまったく同じではありません。
グラフィック結果のスクリーンショットを添付しました。
私は何が間違っているのですか?
解決
あなたの画像からわかるように、チャートは30日間のステップでバーをプロットします。これは、Xaxisの自動範囲によって引き起こされます。チャートは1か月の時間厳守ステップを定義できないため(月の日数は異なります)、Xaxisは30日が最も適切であると自動的に定義しました。手動範囲を設定することは役に立たないので、XValueの代わりにXcategoryを使用することをお勧めします。
foreach(monthLedger month in year)
{
ser.Add(new DataPoint
{
YValue = Convert.ToDouble(month.Revenue_Amount),
Label = month.Revenue_Amount.ToString("0.00###"),
XCategory = month.Full_Date
});
}
これを削除できます-radChart1.defaultView.chartarea.axisx.isdateTime = true;もう必要ないので。
乾杯、エフゲニア
所属していません StackOverflow