Apache EChart前端图表

news2024/9/28 13:26:28

目录

一、了解Apache EChart

1.1 什么是Apache Echart

1.2 为什么要使用图表

1.3 常见的图表以及特点

二、Apache EChart的基本使用

2.1 下载echarts.js

2.2 echart基本使用案例

三、多类型图表的使用

3.1 柱状图(type:'bar')

 --基本柱状图

  --多系列柱状图

 --堆叠柱状图

 --动态排序柱状图

3.2 折线图(type:'line')

 --基本折线图

--多系列折线图

--堆叠折线图

 --平滑曲线图

 --阶梯折线图

3.3 饼图(type:'pie')

--基本饼图

  --圆环图

 --玫瑰图

3.4 散点图(type:'scatter')

 --基本散点图


一、了解Apache EChart

1.1 什么是Apache Echart

1.2 为什么要使用图表

  1. 可视化效果:图表将数据转换为图形,使复杂的数据变得直观易懂。
  2. 提高用户体验:图表简化了数据解读过程,提升了用户对信息的理解速度。
  3. 简化数据解读:通过图形化展示,用户可以快速识别数据的关键趋势和模式。
  4. 促进沟通:图表有助于在团队成员间进行更有效的沟通,易于分享和理解数据。

1.3 常见的图表以及特点

柱状图:

特点:

  • 柱状图使用垂直或水平的矩形条(柱子)来表示不同类别之间的数值比较。
  • 每个柱子的高度或长度代表其对应的数值大小。
  • 柱状图清晰地展示了不同分类之间的差异,使得数据对比更加直观。

折线图:

特点:

  • 折线图使用一系列数据点连接成线段,用于显示数据随时间变化的趋势。
  • 它能够有效地展示数据的趋势和模式,特别是在一段时间内的变化趋势。
  • 折线图中的每个点代表一个数据值,线段则表示这些数据值之间的连续性。

饼图:

特点:

  • 饼图通过将圆形分割成不同的扇形区域来表示各个部分占总体的比例。
  • 每个扇形的面积与它所代表的部分在总和中的比例相对应。
  • 饼图适合于展示各个组成部分在整体中的占比情况。

散点图:

 

特点:

  • 散点图使用二维坐标系中的点来表示数据集中的每一对数值。
  • 点的位置反映了两个变量之间的关系,通常用于探索变量之间的相关性。
  • 如果数据点聚集在一起,则表明变量之间可能存在某种关系;如果数据点分布广泛,则表明变量之间没有明显的关系。

二、Apache EChart的基本使用

2.1 下载echarts.js

通过官网进行下载或者npm下载

npm install echarts

2.2 echart基本使用案例

<template>
  <div id="app">
    <div id="main" style="width: 600px;height:400px;"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  name: 'App',
  mounted() {
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    // 绘制图表
    myChart.setOption({
      title: {
        text: 'ECharts 入门示例'
      },
      tooltip: {},
      xAxis: {
        data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
      },
      yAxis: {},
      series: [
        {
          name: '销量',
          type: 'bar',
          data: [5, 20, 36, 10, 10, 20]
        }
      ]
    });
  }
}
</script>

效果展示:

基本参数选项的解释

title

  • text: 设置图表标题的文字。在这里,标题为“ECharts 入门示例”。

tooltip

  • 空对象 {} 表示采用默认的提示框样式和行为。如果需要自定义提示框的内容、样式等,可以通过向 tooltip 对象中添加属性来实现。

xAxis

  • data: 设置 X 轴的数据,即条形图的分类标签。在这里,数据为 ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']

  • 默认情况下,ECharts 会自动创建一个类目轴(category axis)用于显示这些分类。

yAxis

  • 空对象 {} 表示采用默认的 Y 轴设置。如果需要自定义 Y 轴的刻度范围、标签等,可以通过向 yAxis 对象中添加属性来实现。

series

  • series 是一个数组,其中的每个对象代表一个数据系列。

  • name: 数据系列的名称,在图例中显示。在这里,系列名称为“销量”。

  • type: 图表类型。在这里,类型为 bar,表示条形图。

  • data: 数据系列的数据值。在这里,数据为 [5, 20, 36, 10, 10, 20],对应 X 轴上的六个分类。


三、多类型图表的使用

3.1 柱状图(type:'bar')

 --基本柱状图

<!-- 基本柱状图 -->
<template>
  <div id="app">
    <div id="main" style="width: 600px;height:400px;"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  name: 'App',
  mounted() {
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    // 绘制图表
    myChart.setOption({
      title: {
        text: '基本柱状图'
      },
      xAxis: {
        data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
      },
      yAxis: {},
      series: [
        {
          name: '销量',
          type: 'bar',
          data: [5, 20, 36, 10, 10, 20]
        }
      ]
    });
  }
}
</script>


  --多系列柱状图

相比于基本柱状图,只需要多增加一列数据即可


<!-- 基本柱状图 -->
<template>
  <div id="app">
    <div id="main" style="width: 600px;height:400px;"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  name: 'App',
  mounted() {
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    // 绘制图表
    myChart.setOption({
      title: {
        text: '多系列柱状图'
      },
      xAxis: {
        data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
      },
      yAxis: {},
      series: [
        {
          name: '销量',
          type: 'bar',
          data: [5, 20, 36, 10, 10, 20]
        },
        {
          name: '销量',
          type: 'bar',
          data: [7, 10, 26, 30, 20, 30],
          itemStyle: {
            color: 'gold'
          }
        }
      ]
    });
  }
}
</script>


 --堆叠柱状图

通过设置一个stack选项让其堆叠在一起,方便观察数据的变化。

<!-- 基本柱状图 -->
<template>
  <div id="app">
    <div id="main" style="width: 600px;height:400px;"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  name: 'App',
  mounted() {
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    // 绘制图表
    myChart.setOption({
      tooltip: {},
      title: {
        text: '堆叠柱状图'
      },
      xAxis: {
        data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
      },
      yAxis: {},
      series: [
        {
          name: '销量',
          type: 'bar',
          data: [5, 20, 36, 10, 10, 20],
          stack:'x'
        },
        {
          name: '销量增量',
          type: 'bar',
          data: [2, 3, 6, 0, 10, 5],
          itemStyle: {
            color: 'gold'
          },
          stack:'x'
        }
      ]
    });
  }
}
</script>

 使用 EChart 实现堆叠柱状图的方法非常简单,只需要给一个系列的 stack 值设置一个字符串类型的值,这一个值表示该系列堆叠的类别。也就是说,拥有同样 stack 值的系列将堆叠在一组。


 --动态排序柱状图

<template>
  <div id="app">
    <div id="main" style="width: 600px;height:400px;"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  name: 'App',
  mounted() {
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    // 绘制图表
    myChart.setOption({
      tooltip: {},
      title: {
        text: '动态排序柱状图'
      },
      xAxis: {
        max: 'dataMax'
      },
      yAxis: {
        type: 'category',
        data: ['A', 'B', 'C', 'D', 'E','F'],
        inverse: true,
        animationDuration: 300,
        animationDurationUpdate: 300,
        // 设置柱状图最大显示数量从0开始
        max: 3 
      },
      series: [
        {
          realtimeSort: true,
          name: '销量',
          type: 'bar',
          data: [5, 20, 36, 10, 25, 10],
        
        },
      ]
    });
  }
}
</script>

  1. 柱状图系列的 realtimeSort 设为 true,表示开启该系列的动态排序效果
  2. yAxis.inverse 设为 true,表示 Y 轴从下往上是从小到大的排列
  3. yAxis.animationDuration 建议设为 300,表示第一次柱条排序动画的时长
  4. yAxis.animationDurationUpdate 建议设为 300,表示第一次后柱条排序动画的时长
  5. 如果想只显示前 n 名,将 yAxis.max 设为 n - 1,否则显示所有柱条
  6. xAxis.max 建议设为 'dataMax' 表示用数据的最大值作为 X 轴最大值,视觉效果更好
  7. 如果想要实时改变标签,需要将 series.label.valueAnimation 设为 true
  8. animationDuration 设为 0,表示第一份数据不需要从 0 开始动画(如果希望从 0 开始则设为和 animationDurationUpdate 相同的值)
  9. animationDurationUpdate 建议设为 3000 表示每次更新动画时长,这一数值应与调用 setOption 改变数据的频率相同
  10. animationDurationUpdate 的频率调用 setInterval,更新数据值,显示下一个时间点对应的柱条排序


3.2 折线图(type:'line')

 --基本折线图

<!-- 折线图 -->
<template>
  <div id="app">
    <div id="main" style="width: 600px;height:400px;"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  name: 'App',
  mounted() {
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    // 绘制图表
    myChart.setOption({
      tooltip: {},
      title: {
        text: '销量基本折线图'
      },
      xAxis: {
        data: ['8-2', '8-3', '8-4', '8-5', '8-6', '8-7'],
      },
      yAxis: {},
      series: [
        {
          name: '销量',
          type: 'line',
          data: [5, 20, 36, 10, 10, 20]
        },
      ]
    });
  }
}
</script>

--多系列折线图

<template>
  <div id="app">
    <div id="main" style="width: 600px;height:400px;"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  name: 'App',
  mounted() {
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    // 绘制图表
    myChart.setOption({
      tooltip: {},
      title: {
        text: '多系列折线图'
      },
      xAxis: {
        data: ['8-2', '8-3', '8-4', '8-5', '8-6', '8-7'],
      },
      yAxis: {
      },
      series: [
        {
          name: '销量',
          type: 'line',
          data: [5, 20, 36, 10, 25, 10],
          
        },
        {
          name: '销量',
          type: 'line',
          data: [3, 10, 6, 4, 5, 12],
          itemStyle: {
            color: 'red'
          }
        },
      ]
    });
  }
}
</script>

--堆叠折线图

与堆叠柱状图类似都是加入stack,但是注意为了区分多系列折线图,一般建议使用区域填充色以表明堆叠的情况。

<template>
  <div id="app">
    <div id="main" style="width: 600px;height:400px;"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  name: 'App',
  mounted() {
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    // 绘制图表
    myChart.setOption({
      tooltip: {},
      title: {
        text: '堆叠折线图'
      },
      xAxis: {
        data: ['8-2', '8-3', '8-4', '8-5', '8-6', '8-7'],
      },
      yAxis: {
      },
      series: [
        {
          name: '销量',
          type: 'line',
          data: [5, 20, 36, 10, 25, 10],
          stack:'x',
          areaStyle: {}
        },
        {
          name: '销量增量',
          type: 'line',
          data: [3, 10, 6, 0, 5, 12],
          stack:'x',
          areaStyle: {}
        },
      ]
    });
  }
}
</script>

 --平滑曲线图

<template>
  <div id="app">
    <div id="main" style="width: 600px;height:400px;"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  name: 'App',
  mounted() {
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    // 绘制图表
    myChart.setOption({
      tooltip: {},
      title: {
        text: '平滑曲线图'
      },
      xAxis: {
        data: ['8-2', '8-3', '8-4', '8-5', '8-6', '8-7'],
      },
      yAxis: {
      },
      series: [
        {
          name: '销量',
          type: 'line',
          data: [5, 20, 36, 10, 25, 10],
          smooth: true
        },
      
      ]
    });
  }
}
</script>

 --阶梯折线图

在 ECharts 中,系列的 step 属性用来表征阶梯线图的连接类型,它共有三种取值:'start''middle''end',分别表示在当前点,当前点与下个点的中间点,下个点拐弯。


3.3 饼图(type:'pie')

--基本饼图

<template>
  <div id="app">
    <div id="main" style="width: 600px;height:400px;"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  name: 'App',
  mounted() {
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    // 绘制图表
    myChart.setOption({
      tooltip: {},
      title: {
        text: '基本饼图'
      },
    
      series: [
        {
          name: '总消费',
          type: 'pie',
          data: [
            {
              value: 324,
              name: '电子产品'
            },
            {
              value: 234,
              name:'食品'
            },{
              value: 154,
              name:'生活用品'
            },
            {
              value: 1048,
              name:'其他'
            }
        ],
        },
      
      ]
    });
  }
}
</script>

  --圆环图

<template>
  <div id="app">
    <div id="main" style="width: 600px;height:400px;"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  name: 'App',
  mounted() {
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    // 绘制图表
    myChart.setOption({
      tooltip: {},
      title: {
        text: '圆环图'
      },
      series: [
        {
          name: '总消费',
          type: 'pie',
          data: [
            {
              value: 324,
              name: '电子产品'
            },
            {
              value: 234,
              name:'食品'
            },{
              value: 154,
              name:'生活用品'
            },
            {
              value: 1048,
              name:'其他'
            }
        ],
        radius: ['40%', '70%']
        },
      ]
    });
  }
}
</script>

 --玫瑰图

<template>
  <div id="app">
    <div id="main" style="width: 600px;height:400px;"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  name: 'App',
  mounted() {
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    // 绘制图表
    myChart.setOption({
      tooltip: {},
      title: {
        text: '玫瑰图'
      },
      series: [
        {
          name: '总消费',
          type: 'pie',
          data: [
            {
              value: 324,
              name: '电子产品'
            },
            {
              value: 234,
              name:'食品'
            },{
              value: 154,
              name:'生活用品'
            },
            {
              value: 1048,
              name:'其他'
            }
        ],
         roseType: 'area'
        },
      ]
    });
  }
}
</script>


3.4 散点图(type:'scatter')

 --基本散点图

<template>
  <div id="app">
    <div id="main" style="width: 600px;height:400px;"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  name: 'App',
  mounted() {
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    // 绘制图表
    myChart.setOption({
      tooltip: {},
      title: {
        text: '基本散点图'
      },
      xAxis: {
        data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
      },
      yAxis: {},

      series: [
        {
         type:'scatter',
         data: [220, 182, 191, 234, 290, 330, 310]
        },
      ]
    });
  }
}
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1980735.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

我面试了个目标 50w 的大厂老哥,很符合预期

大家好&#xff0c;我是程序员鱼皮。上周我直播模拟面试了一位很优秀的老哥&#xff0c;有些感受想和朋友们分享分享。 先简单介绍一下&#xff1a;老哥是一本硕士出身 在大厂做后端开发 2 年&#xff0c;buff 拉满&#xff0c;目标是通过跳槽冲击 50 万的年薪。 说实在的&a…

Python 如何进行图像处理(OpenCV, PIL)

图像处理是计算机视觉的重要组成部分&#xff0c;它涉及对数字图像进行分析、修改和处理。在Python中&#xff0c;OpenCV和Pillow&#xff08;PIL是Pillow的前身&#xff09;是两个非常流行的图像处理库。 一、OpenCV简介 OpenCV&#xff08;Open Source Computer Vision Lib…

【文心智能体】梗图七夕版,一分钟让你看懂如何优化prompt,以及解析低代码工作流编排实现过程和零代码结合插件实现过程,依然是干货满满,进来康康吧

目录 背景什么是梗图梗图概念梗图结构 低代码开发最小运行单元大模型链提示词模板文心模板输出效果 测试工具链HTTP请求工具 梗图工具链全流程 梗图优化Prompt提示词优化后梗图结构提示词前后对比优化前效果优化后效果API接口BOS图片水印 梗图插件格式说明构思插件清单文件定义…

21天学通C++:理解智能指针、IO流、异常处理

理解智能指针 管理堆&#xff08;或自由存储区&#xff09;中的内存时&#xff0c;C程序员并非一定要使用常规指针&#xff0c;而可使用智能指针。 什么是智能指针 简单地说&#xff0c;C智能指针是包含重载运算符的类&#xff0c;其行为像常规指针&#xff0c;但智能指针能…

Spring通过注解优雅实现工厂模式

Spring通过注解优雅实现工厂模式 工厂模式作为开发者&#xff0c;应该都是耳熟能详的&#xff0c;在课本上、在网络上都会有无数的案例&#xff0c;是一个简单、确十分好用的设计模式。但是实现它的方法有很多&#xff0c;早年见过最多的就是用 if 判断类型&#xff0c;然后返回…

Docker部署Minio并配置域名访问

Docker部署Minio并配置域名访问 1、拉取镜像 docker pull minio/minio:RELEASE.2024-08-03T04-33-23Z-cpuv12、启动容器 # 创建数据目录 mkdir /data/minio # 创建配置目录 mkdir /root/.minio # 启动容器(如果不配置域名访问MINIO_BROWSER_URL、MINIO_SERVER_URL可以不用配…

springboot书画在线学习网站-计算机毕业设计源码11849

摘 要 本篇论文旨在设计和开发基于SpringBoot的书画在线学习网站&#xff0c;提供用户便捷的学习方式和丰富的学习资源。在该系统中&#xff0c;用户可以通过网站浏览书画的相关内容&#xff0c;包括诗公告消息、书画资讯、课程信息等。同时&#xff0c;系统还将提供书画的学习…

第七在线联手深服协:以科技之力,绘就时尚 AI 智能商品管理新篇章

7月30日&#xff0c;在深圳&#xff0c;一场堪称行业精英云集、科技锋芒毕露的“科技赋能时尚前沿沙龙”圆满落幕。这场盛会由 7thonline 第七在线与深圳服装行业协会&#xff08;简称“深服协”&#xff09;携手打造&#xff0c;深度聚焦 AI 智能商品管理在时尚天地的创新运用…

Liunx 小程序之进度条

Liunx 小程序之进度条 效果前提条件回车和换行缓冲区倒计时 进度条纯进度条模拟下载的进度条Progressbar.hProgressbar.cmain.cmakefile 效果 先来看效果&#xff0c;这其实是一个动态的进度条&#xff0c;后有源码&#xff0c;运行即可&#xff1a; 前提条件 在制作之前有两…

springboot仓库人力资源管理系统-计算机毕业设计源码45130

摘 要 仓库人力资源管理系统作为一种先进的信息技术工具&#xff0c;在企业中扮演着重要的角色。本文旨在深入探讨SpringBoot仓库人力资源管理系统的各项功能及其优势&#xff0c;以及对企业运营所带来的深远影响。 首先&#xff0c;我们详细探讨了SpringBoot仓库人力资源管理…

Opencv学习-图像变换

1. 图像连接 图像连接是指将两个具有相同高度或者宽度的图像连接在一起&#xff0c;图像的下&#xff08;左&#xff09;边缘是另一个图像的上&#xff08;右&#xff09;边缘。图像连接常在需要对两幅图像内容进行对比或者内容中存在对应信息时显示 对应关系时使用。例如&…

全国十大起名大师排行榜,中国最厉害三个起名大师是谁?

全国十大起名大师排行榜&#xff0c;中国最厉害三个起名大师是谁&#xff1f; 山东济南最受欢迎的起名大师有多位&#xff0c;其中较为知名的包括&#xff1a; ‌颜廷利&#xff0c;被誉为山东济南最出名的起名大师之一&#xff0c;还是现代山东文化名人&#xff0c;通过魔方解…

人工智能时代下,国产服务器操作系统如何加快发展?

人工智能时代下&#xff0c;国产服务器操作系统如何加快发展&#xff1f; 云智融合浪潮下&#xff0c;服务器操作系统产业未来发展将走向何方&#xff1f;英特尔和龙蜥的合作&#xff0c;能为国产操作系统的发展带来什么&#xff1f;双方如何通过合作布局“云AI”时代的未来&am…

配有知识库的AI助手与大模型问答相比,各有哪些优缺点?

1. 配有知识库支持的AI助手 优点&#xff1a; 精确性&#xff1a;知识库是由专业人员整理和维护的&#xff0c;其中的信息通常是经过验证和准确的。因此&#xff0c;配有知识库的AI助手可以提供准确的答案&#xff0c;并且在特定领域的问题上表现良好。可控性&#xff1a;知识…

合并重叠的区间

这一题不能用差分数组&#xff0c;因为 [1 , 4] [5, 6] 这个就会被合并&#xff0c;正确的做法就是先排序 bool cmp(vector<int> a, vector<int> b) {if (a[0] < b[0]) return 1;if (a[0] b[0]) return a[1] < b[1];return 0; } class Solution { public:ve…

Python酷库之旅-第三方库Pandas(065)

目录 一、用法精讲 256、pandas.Series.sparse方法 256-1、语法 256-2、参数 256-3、功能 256-4、返回值 256-5、说明 256-6、用法 256-6-1、数据准备 256-6-2、代码示例 256-6-3、结果输出 257、pandas.DataFrame.sparse方法 257-1、语法 257-2、参数 257-3、功…

分享一个基于人脸识别的小区物业管理系统Spring Boot(源码、调试、LW、开题、PPT)

&#x1f495;&#x1f495;作者&#xff1a;计算机源码社 &#x1f495;&#x1f495;个人简介&#xff1a;本人 八年开发经验&#xff0c;擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等&#xff0c;大家有这一块的问题可以一起交流&…

我花了一天时间,搭了个专属知识库,部署上线了,手把手教,不信你学不会

自动开了这个号以后&#xff0c;陆陆续续写了很多干货文章&#xff0c;一方面是可以帮助自己梳理思路&#xff0c;另一方面也方便日后查找相关内容。 但是&#xff0c;我想检索某个关键词是在之前哪篇文章写过的&#xff0c;就有点捉急了。CSDN 还好&#xff0c;可以检索到相关…

Python 算法交易实验77 QTV200日常推进-经典策略

说明 最初(去年7月)快快上了一版&#xff0c;到现在差不多正好一年。总体上当时做的还是蛮粗糙的&#xff0c;没有考虑模式&#xff0c;只是简单的用判别模型做了一道。 过去的一年&#xff0c;显然不是特别好的一年。我知道的大部分还是以亏损居多。这版策略竟然没有亏钱&am…

【C++11】:lambda表达式function包装器

目录 前言一&#xff0c;可变参数模板1.1 简单认识1.2 STL容器中的empalce系列相关接口 二&#xff0c;lambda表达式2.1 lambda表达式语法2.2 探索lambda底层 三&#xff0c;包装器3.1 function包装器3.2 bind 四&#xff0c;类的新功能4.1 默认成员函数4.2 关键字default4.3 关…