0

I ran in to an issue in generating oxyplot with dynamic data. This is the first time I'm using oxyplot with dynamic data.

public async Task<PlotModel> AreaChart_NoOfPoliciesAsync()
    {
        var plotModel1 = new PlotModel { Title = "Number of Policies with last year" };

        plotModel1.InvalidatePlot(true);
        try
        {


            var s1 = new AreaSeries()
            {
                Title = "Number of policies in last year",
                Color = OxyColors.LightPink,
                MarkerType = MarkerType.Circle,
                MarkerSize = 6,
                MarkerStroke = OxyColors.White,
                MarkerFill = OxyColors.LightPink,
                MarkerStrokeThickness = 1.5
            };

            string year_str = DateTime.Today.AddYears(-1).ToString("yyyy");
            int running_month = 1;
            string running_month_str;

            List<MonthlyPerformance> last_year = await _apiServices.GetMonthlyPerformance(Settings.AccessToken, Settings.agentCode, year_str);

            last_year = last_year.FindAll(x => x.BUSS_TYPE == "Total");
            last_year.Sort((x, y) => x.Y_MONTH.CompareTo(y.Y_MONTH));


            s1.Points.Add(new DataPoint(0, 0));
    foreach (MonthlyPerformance item in last_year)
            {
        s1.Points.Add(new DataPoint(running_month, item.NO_BUSINESS));
        running_month++;
    }
    plotModel1.Series.Add(s1);

            plotModel1.Axes.Add(new LinearAxis { Position = AxisPosition.Left, IsPanEnabled = false, IsZoomEnabled = false });
            plotModel1.Axes.Add(new LinearAxis { Position = AxisPosition.Bottom, IsPanEnabled = false, IsZoomEnabled = false });

    return plotModel1;}

The plot generated with hard coded values used for demo. But when the function

 List<MonthlyPerformance> last_year = await _apiServices.GetMonthlyPerformance(Settings.AccessToken, Settings.agentCode, year_str);

is called, oxyplot is not being generated. I just get a blank space. I dont get any compilation errors.

I'm using MVVM. Could someone please point out what I'm doing wrong here. Thanks in advance.

Anshu
  • 374
  • 1
  • 4
  • 18
  • How do you use the returned plotModel1? Could it be that a notification about an updated property is missing thus the view won't be refreshed? – tequila slammer Aug 06 '18 at 14:45

1 Answers1

0

Once await and async were removed, the chart appeared.

I don't think it's the right way to handled the issue. But I was running out of development time.

Anshu
  • 374
  • 1
  • 4
  • 18