Как сгруппировать данные и построить составную гистограмму с помощью C# и Blazor ApexCharts?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 Как сгруппировать данные и построить составную гистограмму с помощью C# и Blazor ApexCharts?

Сообщение Гость »


Я использую Blazor с Blazor Apex Charts, чтобы создавать диаграммы для информационной панели, над которой я работаю. Теперь у меня возникла небольшая проблема.

Веб-приложение основано на периоде. Под этим я подразумеваю показ только данных за выбранный период и в прошлом. Один период равен одному месяцу. Периоды обозначаются целыми числами, например: 202302, 202401 и т. д.

Мне нужна составная гистограмма. Каждая полоса сложена и показывает доход для каждого типа проекта. Данные на диаграмме начинаются с выбранного периода и возвращаются к первому месяцу этого года. Он должен иметь возможность сравнить его с теми же месяцами предыдущего года. В моем наборе данных существует вероятность того, что типы проектов не будут одинаковыми каждый месяц. 202301 и 202401 не обязательно должны иметь одинаковые типы проектов.

Как это должно выглядеть:


Изображение


Когда я просматриваю документацию (https://apexcharts.github.io/Blazor-Ape ... bar-charts), каждый стек имеет свою собственную ApexPointSeries и ссылается на разные свойства. В моем примере ось Y всегда будет отражать доход, но для разных типов проектов.

Код:

[Введение] AppData appData {получить; набор; } [Параметр] общественный списокcharDataForStack {get; набор; } частный список testStack = новый список (); частные параметры ApexChartOptions; защищенное переопределение Task OnInitializedAsync() { options = новый ApexChartOptions { Диаграмма = новая диаграмма { Сложено = правда, }, PlotOptions = новые PlotOptions { Бар = новый PlotOptionsBar { Горизонтально = ложь } }, }; СортироватьДанные(); вернуть базу.OnInitializedAsync(); } публичная недействительная сортировка данных() { //chartDataForStack уже отсортирован по некоторым параметрам перед передачей этому компоненту. В частности, выбирается первый возможный месяц: Год. вар selectedYear = appData.SelectedPeriod / 100; var testData =chartDataForStack.Where(x => x.type == "доход") .GroupBy(g => g. period) .OrderBy(o => o.Key) .К списку(); var thisYear = новый List(); var LastYear = новый List(); testGroup2 = новый список(); foreach (группа var в testData) { if (group.Key / 100 == выбранный год) { thisYear.Add(группа); } иначе, если (group.Key % 100 x.project_type).ToList(); testGroup.AddRange(температура); } foreach (элемент var в testGroup) { вар revProjType = новый RevenueProjectType(); revProjType.revenue = item.Sum(x => x.acc); revProjType.projectType = item.Key; revProjType. period = item.FirstOrDefault(x => x. period != 0). period.ConvertRawPeriod(); testStack.Add(revProjType); } cshtml:

@foreach (элемент var в testStack) { } Элемент диаграммы дохода:

публичный класс RevenueProjectType { общественная строка projectType {get; набор; } публичная строка периода {get; набор; } общедоступная десятичная дробь? доход {получить; набор; } общественная строка projectTypeName {get; набор; } } В моем примере кода список testStack содержит по одной записи для каждого типа проекта за каждый период с суммированным доходом. В предоставленном коде я просто пытаюсь получить текущий год в виде сложенной гистограммы, чтобы, возможно, получить некоторое представление о том, как я это сделаю. Текущий код объединяет гистограммы, но данные на диаграмме неверны.

Любая помощь или подсказки будут очень признательны.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как отсортировать составную гистограмму
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Как отсортировать составную гистограмму
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как отсортировать составную гистограмму
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как отсортировать составную гистограмму
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Создайте составную гистограмму в Python из группировки на основе мультииндекса.
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»