Анализ данных для диаграммы Морриса в ASP.NET MVC - PullRequest
0 голосов
/ 01 июня 2018

Я разрабатываю часть приложения, в которой мне нужно создавать отчеты о некоторых спортсменах-пользователях и просматривать их на графике:

даты и количество воздействий определенного подъема

Вотhtml и javascript:

                    <div class="chart" id="bar-chart-@exposureReport.AthleteId" style="height: 300px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);">
                        <script>
                            drawChart('@exposureReport.CoachId', '@exposureReport.AthleteId');

                            function drawChart(coachId, athleteId) {
                                //debugger;
                                $.getJSON('@Url.Action("FetchAthleteChartData", "Reports")?coachId=' + coachId + '&athleteId=' + athleteId,
                                    function (data) {
                                        var datax = JSON.stringify(data);
                                        alert(datax);
                                        Morris.Bar({
                                            element: 'bar-chart-' + athleteId,
                                            resize: true,
                                            barSizeRatio: 0.12,
                                            barGap: 3,
                                            data: $.parseJSON(datax),
                                            barColors: ['#ff0000'],
                                            xkey: ['exposures'],
                                            ykeys: ['dates'],
                                            labels: ['Times exposed'],
                                            hideHover: 'auto'
                                        });
                                    }
                                );
                            }
                        </script>
                    </div>

Я смотрю все отчеты, которые у меня есть в текущем представлении, и предпросматриваю их.Я хочу показать диаграмму для каждого отчета.

Я вызываю функцию javascript и передаю значения coachId и athleteId и позволяю серверу получить данные для меня:

 [HttpGet]
    public JsonResult FetchAthleteChartData(string coachId, string athleteId)
    {
        var exerciseReport =
            _applicationUserOperations.GetAllExposureReportsForCoachByAthleteId(coachId, athleteId);

        var filteredDates = exerciseReport.Exposures.Select(x => x.ExposureDate).ToList();
        var filteredExposures = exerciseReport.Exposures.Select(x => x.NumberOfLifts).ToList();

        var result = new
        {
            Dates = filteredDates,
            Exposures = filteredExposures
        };


        return Json(result);
    }

Когда мое предупреждение (datax) запускает, который он показывает (у меня есть только одна запись для тренировки / упражнения / подъема):

{"dates":["2018-06-01T00:00:00"],"exposures":[5]}

Это правильный формат для анализа?Как мне разобрать его, чтобы данные диаграммы могли его понять и отобразить.

...