当前位置:   article > 正文

8.多折线图(MuliLineChart)

8.多折线图(MuliLineChart)

愿你出走半生,归来仍是少年! 

环境:.NET 7、MAUI 

        话接上回(7.单折线图(SingleLineChart)),多个类型的折线图

1.数据设置

        通过BasicSerieDto的ToSingleLine方法直接获取LineSeries<double>,然后获取集合给它塞进去,其他的和单线的一样。

  1. private void InitValue(List<BasicSerieDto> dtos)
  2. {
  3. Series = new ISeries[dtos.Count];
  4. for (int i = 0; i < dtos.Count; i++)
  5. {
  6. var dto = dtos[i];
  7. Series[i] = dto.ToMuliLine();
  8. }
  9. chart.SetBinding(CartesianChart.SeriesProperty, new Binding("Series"));
  10. }

2.使用

  1. public partial class MuliLineChartDemo : ContentPage
  2. {
  3. private class Fruit
  4. {
  5. public string name { get; set; }
  6. public string WeekDay { get; set; }
  7. public double Money { get; set; }
  8. }
  9. public MuliLineChartDemo()
  10. {
  11. InitializeComponent();
  12. #region 原始数据
  13. List<Fruit> apples = new List<Fruit>();
  14. for (int i = 0; i < 7; i++)
  15. {
  16. apples.Add(new Fruit()
  17. {
  18. WeekDay = "周" + i,
  19. Money = (new Random()).NextDouble() * 10000,
  20. name = "苹果"
  21. });
  22. }
  23. List<Fruit> pears = new List<Fruit>();
  24. for (int i = 0; i < 7; i++)
  25. {
  26. pears.Add(new Fruit()
  27. {
  28. WeekDay = "周" + i,
  29. Money = (new Random()).NextDouble() * 10000,
  30. name = "梨子"
  31. });
  32. }
  33. List<Fruit> bananas = new List<Fruit>();
  34. for (int i = 0; i < 7; i++)
  35. {
  36. bananas.Add(new Fruit()
  37. {
  38. WeekDay = "周" + i,
  39. Money = (new Random()).NextDouble() * 10000,
  40. name = "香蕉"
  41. });
  42. }
  43. #endregion
  44. var appleDto = new BasicSerieDto(apples[0].name, apples.Select(p => p.Money).ToList(), apples.Select(p => p.WeekDay + "\n" + Math.Round(p.Money, 2)).ToList());
  45. var pearDto = new BasicSerieDto(pears[0].name, pears.Select(p => p.Money).ToList(), pears.Select(p => p.WeekDay + "\n" + Math.Round(p.Money, 2)).ToList());
  46. var bananaDto = new BasicSerieDto(bananas[0].name, bananas.Select(p => p.Money).ToList(), bananas.Select(p => p.WeekDay + "\n" + Math.Round(p.Money, 2)).ToList());
  47. chart.BindData("一周营业额", apples.Select(p => p.WeekDay).ToList(), new List<BasicSerieDto>()
  48. {
  49. appleDto,pearDto,bananaDto
  50. }
  51. );
  52. }
  53. }

 3.效果

多类别折线效果
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/43105
推荐阅读
相关标签
  

闽ICP备14008679号