如何在 C# 中的日期时间月轴上绘制重复数据

How can I plot recurring data on a datetime month axis in c#

我正在使用 c# 为 Windows 开发一个基本的预算应用程序。我有一个 SQL table 存储收入列表和一个 table 存储支出。在这两种情况下,用户都选择这是否是 daily/weekly/monthly 金额和此 income/expense 的日期。 我设法创建了一个线系列图表,显示每月所有金额的总和,x 轴上为月份,使用以下代码:

var query = conn.Table<incomedata>();
LineSeries IncomeLineSeries = new LineSeries();

List<DateAmountList> List1 = new List<DateAmountList>();
                for (int i = 1; i <= 12; i++)
                {
                    List1.Add(new DateAmountList() { Date = DateTimeFormatInfo.CurrentInfo.GetMonthName(i), Amount = query.AsEnumerable()
    .Where(o => CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(o.Date.Month) == DateTimeFormatInfo.CurrentInfo.GetMonthName(i)).Sum(o => (int)o.Amount) });
                }

                IncomeLineSeries.ItemsSource = List1;
                IncomeLine.Series.Add(IncomeLineSeries);

我知道我可以让用户选择一个结束日期,并从中计算出要重复多少个月,但我仍然不知道如何将该金额添加到每个月的总数中并显示出来。 ..

例如,从 1 月开始的 12 个月中,您每月赚取 100,目前该金额仅添加到 1 月,因为这是存储的日期时间,我如何将 100 添加到 DateAmountList 的每个月(金额) 只要它重复出现?

一旦我知道如何每月执行一次,我就会将类似的逻辑应用于每天和每周。

我最终想出了办法,我可以用每个月存储的金额填充另一个 table,然后添加到每个月的 table,然后添加到图表系列