当前位置: 首页 > news >正文

8.多折线图(MuliLineChart)

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

环境:.NET 7、MAUI 

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

1.数据设置

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

  private void InitValue(List<BasicSerieDto> dtos){Series = new ISeries[dtos.Count];for (int i = 0; i < dtos.Count; i++){var dto = dtos[i];Series[i] = dto.ToMuliLine();}chart.SetBinding(CartesianChart.SeriesProperty, new Binding("Series"));}

2.使用

public partial class MuliLineChartDemo : ContentPage
{private class Fruit{public string name { get; set; }public string WeekDay { get; set; }public double Money { get; set; }}public MuliLineChartDemo(){InitializeComponent();#region 原始数据List<Fruit> apples = new List<Fruit>();for (int i = 0; i < 7; i++){apples.Add(new Fruit(){WeekDay = "周" + i,Money = (new Random()).NextDouble() * 10000,name = "苹果"});}List<Fruit> pears = new List<Fruit>();for (int i = 0; i < 7; i++){pears.Add(new Fruit(){WeekDay = "周" + i,Money = (new Random()).NextDouble() * 10000,name = "梨子"});}List<Fruit> bananas = new List<Fruit>();for (int i = 0; i < 7; i++){bananas.Add(new Fruit(){WeekDay = "周" + i,Money = (new Random()).NextDouble() * 10000,name = "香蕉"});}#endregionvar appleDto = new BasicSerieDto(apples[0].name, apples.Select(p => p.Money).ToList(), apples.Select(p => p.WeekDay + "\n" + Math.Round(p.Money, 2)).ToList());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());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());chart.BindData("一周营业额", apples.Select(p => p.WeekDay).ToList(), new List<BasicSerieDto>(){appleDto,pearDto,bananaDto});}
}

 3.效果

多类别折线效果

相关文章:

  • Win10 中 通过脚本弹出TF卡
  • Linux 下查看端口以及释放端口
  • 【51单片机系列】proteus中的LCD12864液晶屏
  • Unity之Cinemachine教程
  • Vue好看的组件库:Element
  • 7.FPR/TNR-机器学习模型性能的常用的评估指标
  • 【2024】新建mysql数据库,如何选择字符集和排序规则
  • Spring Security放行Knife4j静态资源
  • uniapp canvas做的刮刮乐解决蒙层能自定义图片
  • macOS Sonoma 14.3(23D56)发布(附黑/白苹果系统镜像)
  • 【AI大模型】WikiChat超越GPT-4:在模拟对话中事实准确率提升55%终极秘密
  • python三数之和
  • Java中文乱码浅析及解决方案
  • 如何使用docker实现越权漏洞-webug靶场搭建(超详解)
  • 第四十周:文献阅读+GAN
  • [译]CSS 居中(Center)方法大合集
  • 78. Subsets
  • Rancher-k8s加速安装文档
  • redis学习笔记(三):列表、集合、有序集合
  • vue 配置sass、scss全局变量
  • Vue2 SSR 的优化之旅
  • Vue--数据传输
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 关于extract.autodesk.io的一些说明
  • 聊聊flink的TableFactory
  • 码农张的Bug人生 - 见面之礼
  • 普通函数和构造函数的区别
  • 前嗅ForeSpider采集配置界面介绍
  • 前言-如何学习区块链
  • 收藏好这篇,别再只说“数据劫持”了
  • 学习JavaScript数据结构与算法 — 树
  • Mac 上flink的安装与启动
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​香农与信息论三大定律
  • $(function(){})与(function($){....})(jQuery)的区别
  • (007)XHTML文档之标题——h1~h6
  • (04)odoo视图操作
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (C++20) consteval立即函数
  • (C语言)字符分类函数
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (SpringBoot)第七章:SpringBoot日志文件
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (论文阅读30/100)Convolutional Pose Machines
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • . Flume面试题
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • [.NET]桃源网络硬盘 v7.4
  • []AT 指令 收发短信和GPRS上网 SIM508/548