📊 本文特色:从零开始掌握日历图和箱线图可视化技巧,包含多个完整实例、核心配置项解析和实用场景指南,助您快速构建专业数据可视化图表。pyecharts源码在这里插入图片描述

目录

    • 什么是日历图和箱线图?
      • 📅 日历图(Calendar)
      • 📊 箱线图(Boxplot)
    • 环境准备
      • 📋 基础依赖
      • 🔧 安装步骤
    • 基础日历图实现
      • 代码详解
      • 📌 日历图关键点总结
    • 更多图表实现
      • 图表2:Calendar_heatmap(高级日历图)
      • 代码详解
      • 📌 Calendar_heatmap关键点总结
      • 图表2与图表1的对比
      • 图表3:BoxPlot-基本示例(基础箱线图)
      • 代码详解
      • 📌 箱线图关键点总结
      • 箱线图核心参数解释
      • 图表4:Boxplot & Scatter 组合图表(高级箱线图)
      • 代码详解
      • 📌 组合图表关键点总结
      • 组合图表的优势
      • 图表5:多类别箱线图(自定义提示框)
      • 代码详解
      • 📌 多类别箱线图关键点总结
      • 自定义提示框的优势
    • 常见问题解答
      • ❓ 日历图数据格式有什么要求?
      • ❓ 如何更改日历图的颜色主题?
      • ❓ 日历图支持哪些交互功能?
      • 总结与展望
        • 核心收获
        • 实用建议
        • 进阶方向

日历图和箱线图是两种非常实用的数据可视化图表类型,它们分别适用于不同的数据展示场景。本教程将从基础到进阶,帮助您系统掌握这两种图表的使用方法。

什么是日历图和箱线图?

📅 日历图(Calendar)

日历图以日历的形式展示数据随时间的变化,通过颜色深浅直观呈现数值大小,非常适合展示全年或长时间范围内的趋势变化。

核心优势

  • 时间维度清晰,直观展示数据在全年的分布
  • 色彩渐变效果突出异常值和趋势模式
  • 适合展示步数、销售额、访问量等日常记录数据

典型应用场景

  • 健康数据跟踪(步数、心率等)
  • 业务销售数据分析
  • 网站访问量统计
  • 气象数据可视化

📊 箱线图(Boxplot)

箱线图通过显示一组数据的最小值、第一四分位数、中位数、第三四分位数和最大值,直观地展示数据分布特征和异常值。

核心优势

  • 有效识别数据集中的异常值
  • 比较多组数据的分布特征
  • 不受样本量影响的统计可视化
  • 清晰展示数据的离散程度

典型应用场景

  • 质量控制和过程监控
  • 实验数据结果分析
  • 多组数据对比分析
  • 金融风险评估

环境准备

日历图和箱线图开发需要以下环境支持,请确保系统已正确配置:

📋 基础依赖

  • Python 3.6+(推荐3.8+版本)
  • pyecharts 1.9.0+(本教程基于最新版开发)

🔧 安装步骤

# 创建并激活虚拟环境(推荐)
python -m venv venv
# Windows激活虚拟环境
venv\Scripts\activate
# macOS/Linux激活虚拟环境
# source venv/bin/activate# 安装依赖包
pip install pyecharts==2.0.3# 验证安装
python -c "import pyecharts; print('pyecharts版本:', pyecharts.__version__)"

💡 提示:使用虚拟环境可以避免包版本冲突,是Python项目开发的最佳实践。如果不需要虚拟环境,可以直接执行pip install pyecharts命令。

基础日历图实现

下面是一个基础日历图的实现代码,展示了2017年全年的微信步数情况:

import datetime  # 导入日期时间处理模块
import random    # 导入随机数生成模块from pyecharts import options as opts  # 导入pyecharts配置选项
from pyecharts.charts import Calendar  # 导入日历图图表类型begin = datetime.date(2017, 1, 1)  # 设置开始日期为2017年1月1日
end = datetime.date(2017, 12, 31)  # 设置结束日期为2017年12月31日
# 生成2017年全年每一天的数据,数据格式为[日期字符串, 随机数值]
data = [[str(begin + datetime.timedelta(days=i)), random.randint(1000, 25000)]for i in range((end - begin).days + 1)
]# 创建日历图实例并配置
c = (Calendar()  # 初始化日历图# 添加数据,设置日历范围为2017年.add("", data, calendar_opts=opts.CalendarOpts(range_="2017")).set_global_opts(title_opts=opts.TitleOpts(title="Calendar-2017年微信步数情况"),  # 设置图表标题visualmap_opts=opts.VisualMapOpts(max_=20000,               # 视觉映射最大值min_=500,                 # 视觉映射最小值orient="horizontal",      # 水平方向显示is_piecewise=True,        # 分段显示pos_top="230px",          # 视觉映射组件顶部位置pos_left="100px",         # 视觉映射组件左侧位置),)#.render("calendar_base.html")  # 渲染到HTML文件(可选)
)
# 在Jupyter Notebook中渲染图表
c.render_notebook()

在这里插入图片描述

代码详解

  1. 导入模块

    • datetime:用于处理日期和时间
    • random:用于生成随机数据
    • pyecharts.options:用于配置图表选项
    • pyecharts.charts.Calendar:用于创建日历图
  2. 数据准备

    • 设置数据的开始和结束日期(2017年全年)
    • 使用列表推导式生成全年每一天的数据,格式为[日期字符串, 数值]
    • 这里使用random.randint(1000, 25000)模拟每日微信步数
  3. 创建图表

    • Calendar():创建日历图实例
    • .add("", data, calendar_opts=opts.CalendarOpts(range_="2017")):添加数据并设置日历范围
    • .set_global_opts():设置全局选项
      • title_opts:设置图表标题
      • visualmap_opts:配置视觉映射,控制日历中颜色深浅对应的数值范围
  4. 渲染展示

    • render_notebook():在Jupyter Notebook中显示图表
    • 如果需要保存为HTML文件,可以取消注释.render("calendar_base.html")

📌 日历图关键点总结

  • 数据格式必须是[日期字符串, 数值]的列表形式
  • CalendarOpts(range_)参数用于指定日历的年份范围
  • 视觉映射组件(VisualMapOpts)控制颜色与数值的对应关系
  • 适合展示全年或特定时间段内的数据分布情况

更多图表实现

图表2:Calendar_heatmap(高级日历图)

下面是一个高级日历图的实现代码,展示了2017年全年步数情况的热图效果:

import random     # 导入随机数生成模块
import datetime   # 导入日期时间处理模块import pyecharts.options as opts  # 导入pyecharts配置选项
from pyecharts.charts import Calendar  # 导入日历图图表类型begin = datetime.date(2017, 1, 1)  # 设置开始日期为2017年1月1日
end = datetime.date(2017, 12, 31)  # 设置结束日期为2017年12月31日
# 生成2017年全年每一天的数据,数据格式为[日期字符串, 随机数值]
data = [[str(begin + datetime.timedelta(days=i)), random.randint(1000, 25000)]for i in range((end - begin).days + 1)
](Calendar()  # 初始化日历图.add(series_name="",  # 系列名称为空yaxis_data=data,  # 设置Y轴数据calendar_opts=opts.CalendarOpts(pos_top="120",  # 日历图距离顶部的距离pos_left="30",  # 日历图距离左侧的距离pos_right="30",  # 日历图距离右侧的距离range_="2017",  # 日历的年份范围yearlabel_opts=opts.CalendarYearLabelOpts(is_show=False),  # 不显示年份标签),).set_global_opts(title_opts=opts.TitleOpts(pos_top="30", pos_left="center", title="2017年步数情况"),  # 设置标题位置和内容visualmap_opts=opts.VisualMapOpts(max_=20000,  # 视觉映射最大值min_=500,    # 视觉映射最小值orient="horizontal",  # 水平方向显示is_piecewise=False     # 连续显示,非分段),)#.render("calendar_heatmap.html")  # 渲染到HTML文件(可选).render_notebook()  # 在Jupyter Notebook中渲染
)

在这里插入图片描述

代码详解

  1. 数据准备

    • 与基础日历图相同,使用datetimerandom模块生成2017年全年的数据
    • 数据格式保持为[日期字符串, 数值]的列表形式
  2. 布局优化

    • 通过pos_toppos_leftpos_right参数调整日历图在容器中的位置
    • 这些参数可以使图表在不同尺寸的显示区域中更好地布局
  3. 视觉效果优化

    • 设置yearlabel_opts=opts.CalendarYearLabelOpts(is_show=False)隐藏年份标签
    • 这可以使日历图更加简洁,专注于数据本身
  4. 颜色映射调整

    • 设置is_piecewise=False使颜色映射变为连续渐变
    • 连续渐变比分段显示更加平滑,适合展示热图效果

📌 Calendar_heatmap关键点总结

  • 可以通过pos_toppos_leftpos_right参数精确控制图表位置
  • is_show=False可以隐藏不需要的标签,使图表更加简洁
  • is_piecewise=False启用连续颜色渐变,适合热图展示
  • 这种配置更适合创建专业的数据分析仪表盘

图表2与图表1的对比

特性基础日历图(图表1)高级日历图(图表2)
标题位置默认位置顶部居中(pos_top=“30”, pos_left=“center”)
日历位置默认位置自定义边距(pos_top=“120”, pos_left=“30”, pos_right=“30”)
年份标签显示隐藏(is_show=False)
颜色映射分段显示(is_piecewise=True)连续渐变(is_piecewise=False)
适用场景基础数据展示专业仪表盘、报告

图表3:BoxPlot-基本示例(基础箱线图)

下面是一个基础箱线图的实现代码,展示了两组数据的分布情况:

from pyecharts import options as opts  # 导入pyecharts配置选项
from pyecharts.charts import Boxplot   # 导入箱线图图表类型# 准备数据,v1和v2分别代表两组不同的数据系列
v1 = [[850, 740, 900, 1070, 930, 850, 950, 980, 980, 880, 1000, 980],  # 第一组数据[960, 940, 960, 940, 880, 800, 850, 880, 900, 840, 830, 790],   # 第二组数据
]
v2 = [[890, 810, 810, 820, 800, 770, 760, 740, 750, 760, 910, 920],   # 第三组数据[890, 840, 780, 810, 760, 810, 790, 810, 820, 850, 870, 870],   # 第四组数据
]# 创建箱线图实例
c = Boxplot()
c.add_xaxis(["expr1", "expr2"])  # 设置X轴数据
c.add_yaxis("A", c.prepare_data(v1))  # 添加Y轴数据系列A,注意需要使用prepare_data处理数据
c.add_yaxis("B", c.prepare_data(v2))  # 添加Y轴数据系列B,同样需要使用prepare_data处理数据
c.set_global_opts(title_opts=opts.TitleOpts(title="BoxPlot-基本示例"))  # 设置图表标题
#c.render("boxplot_base.html")  # 渲染到HTML文件(可选)
c.render_notebook()  # 在Jupyter Notebook中渲染

在这里插入图片描述

代码详解

  1. 导入模块

    • pyecharts.options:用于配置图表选项
    • pyecharts.charts.Boxplot:用于创建箱线图
  2. 数据准备

    • 准备了两组数据v1v2,每组数据又包含两个子组
    • 这种嵌套列表的形式是箱线图的数据要求格式
  3. 数据预处理

    • 注意箱线图需要使用prepare_data()方法预处理数据
    • 这是因为箱线图需要计算每个数据组的最小值、第一四分位数、中位数、第三四分位数和最大值
  4. 创建图表

    • Boxplot():创建箱线图实例
    • `.add_xaxis([“expr1”, “expr2”]):设置X轴的分类标签
    • .add_yaxis():添加Y轴数据系列,可以添加多个系列进行对比
    • .set_global_opts():设置全局选项,如标题等

📌 箱线图关键点总结

  • 数据格式必须是嵌套列表,外层列表代表不同的数据系列,内层列表代表每个系列的数据点
  • 必须使用prepare_data()方法预处理数据,这是箱线图的特殊要求
  • 箱线图非常适合比较多组数据的分布特征和离散程度
  • 可以直观地识别数据中的异常值(箱线图中的"离群点")

箱线图核心参数解释

参数说明示例
add_xaxis设置X轴的分类标签`add_xaxis([“类别1”, “类别2”, “类别3”])
add_yaxis添加Y轴数据系列add_yaxis("系列名称", data)
prepare_data预处理箱线图数据,计算统计指标c.prepare_data(raw_data)
set_global_opts设置全局选项set_global_opts(title_opts=...)

图表4:Boxplot & Scatter 组合图表(高级箱线图)

下面是一个高级箱线图的实现代码,展示了箱线图与散点图的组合使用,模拟了著名的迈克尔逊-莫雷实验数据:

import pyecharts.options as opts 
from pyecharts.charts import Grid, Boxplot, Scatter y_data = [ [ 850, 740, 900, 1070, 930, 850, 950, 980, 980, 880, 1000, 980, 930, 650, 760, 810, 1000, 1000, 960, 960, ], [ 960, 940, 960, 940, 880, 800, 850, 880, 900, 840, 830, 790, 810, 880, 880, 830, 800, 790, 760, 800, ], [ 880, 880, 880, 860, 720, 720, 620, 860, 970, 950, 880, 910, 850, 870, 840, 840, 850, 840, 840, 840, ], [ 890, 810, 810, 820, 800, 770, 760, 740, 750, 760, 910, 920, 890, 860, 880, 720, 840, 850, 850, 780, ], [ 890, 840, 780, 810, 760, 810, 790, 810, 820, 850, 870, 870, 810, 740, 810, 940, 950, 800, 810, 870, ], 
] 
scatter_data = [650, 620, 720, 720, 950, 970] box_plot = Boxplot() box_plot = ( box_plot.add_xaxis(xaxis_data=["expr 0", "expr 1", "expr 2", "expr 3", "expr 4"]) .add_yaxis(series_name="", y_axis=box_plot.prepare_data(y_data)) .set_global_opts( title_opts=opts.TitleOpts( pos_left="center", title="Michelson-Morley Experiment" ), tooltip_opts=opts.TooltipOpts(trigger="item", axis_pointer_type="shadow"), xaxis_opts=opts.AxisOpts( type_="category", boundary_gap=True, splitarea_opts=opts.SplitAreaOpts(is_show=False), axislabel_opts=opts.LabelOpts(formatter="expr {value}"), splitline_opts=opts.SplitLineOpts(is_show=False), ), yaxis_opts=opts.AxisOpts( type_="value", name="km/s minus 299,000", splitarea_opts=opts.SplitAreaOpts( is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1) ), ), ) .set_series_opts(tooltip_opts=opts.TooltipOpts(formatter="{b}: {c}")) 
) scatter = ( Scatter() .add_xaxis(xaxis_data=["expr 0", "expr 1", "expr 2", "expr 3", "expr 4"]) .add_yaxis(series_name="", y_axis=scatter_data) .set_global_opts( title_opts=opts.TitleOpts( pos_left="10%", pos_top="90%", title="upper: Q3 + 1.5 * IQR \nlower: Q1 - 1.5 * IQR", title_textstyle_opts=opts.TextStyleOpts( border_color="#999", border_width=1, font_size=14 ), ), yaxis_opts=opts.AxisOpts( axislabel_opts=opts.LabelOpts(is_show=False), axistick_opts=opts.AxisTickOpts(is_show=False), ), ) 
) grid = ( Grid() .add( box_plot, grid_opts=opts.GridOpts(pos_left="10%", pos_right="10%", pos_bottom="15%"), ) .add( scatter, grid_opts=opts.GridOpts(pos_left="10%", pos_right="10%", pos_bottom="15%"), ) #.render("boxplot_light_velocity.html") 
) 
grid.render_notebook()

在这里插入图片描述

代码详解

  1. 数据准备

    • y_data:包含5组实验数据,每组有20个数据点,模拟迈克尔逊-莫雷实验的测量结果
    • scatter_data:一组特殊的散点数据,用于在图表上标记特定点(如异常值或参考点)
  2. 创建箱线图

    • 使用Boxplot()创建箱线图实例
    • 添加X轴数据,对应5个实验表达式
    • 使用prepare_data()方法预处理箱线图数据
    • 配置全局选项,包括标题、提示框、坐标轴样式等
    • 设置Y轴名称为"km/s minus 299,000",符合物理学实验的表示习惯
  3. 创建散点图

    • 使用Scatter()创建散点图实例
    • 添加相同的X轴数据
    • 添加scatter_data作为Y轴数据
    • 配置散点图的标题,解释箱线图的异常值判断标准
    • 隐藏Y轴的标签和刻度,避免与箱线图的Y轴重复
  4. 组合图表

    • 使用Grid()组件将箱线图和散点图组合在同一个画布上
    • 通过grid_opts设置相同的网格选项,确保两个图表对齐
    • 散点图会显示在箱线图的上方,两者共享同一坐标系

📌 组合图表关键点总结

  • Grid()组件是pyecharts中组合多个图表的强大工具
  • 可以通过pos_leftpos_rightpos_bottom等参数精确控制图表位置
  • 箱线图与散点图组合可以同时展示数据分布和特定点标记
  • SplitAreaOpts参数可以设置Y轴的分隔区域,增强可读性
  • 散点图的坐标轴选项可以独立配置,如隐藏标签和刻度

组合图表的优势

这种箱线图与散点图的组合有以下优势:

  1. 多层次信息展示:同时展示数据的整体分布特征和特定数据点
  2. 异常值可视化:可以清晰地标记和解释异常值的判断标准
  3. 增强可读性:通过网格布局和分隔区域,使复杂数据更加直观易懂
  4. 专业数据分析:适合科学实验、统计分析等专业场景

图表5:多类别箱线图(自定义提示框)

下面是一个多类别箱线图的实现代码,展示了如何添加多个数据系列并自定义提示框内容:

from pyecharts import options as opts
from pyecharts.charts import Boxplot
from pyecharts.commons.utils import JsCode# 省略数据字典(Boxplot().add_xaxis(xaxis_data=axis_data).add_yaxis(series_name="category0",y_axis=data[0]["boxData"],tooltip_opts=opts.TooltipOpts(formatter=JsCode("""function(param) { return ['Experiment ' + param.name + ': ','upper: ' + param.data[0],'Q1: ' + param.data[1],'median: ' + param.data[2],'Q3: ' + param.data[3],'lower: ' + param.data[4]].join('<br/>') }""")),).add_yaxis(series_name="category1",y_axis=data[1]["boxData"],tooltip_opts=opts.TooltipOpts(formatter=JsCode("""function(param) { return ['Experiment ' + param.name + ': ','upper: ' + param.data[0],'Q1: ' + param.data[1],'median: ' + param.data[2],'Q3: ' + param.data[3],'lower: ' + param.data[4]].join('<br/>') }""")),).add_yaxis(series_name="category2",y_axis=data[2]["boxData"],tooltip_opts=opts.TooltipOpts(formatter=JsCode("""function(param) { return ['Experiment ' + param.name + ': ','upper: ' + param.data[0],'Q1: ' + param.data[1],'median: ' + param.data[2],'Q3: ' + param.data[3],'lower: ' + param.data[4]].join('<br/>') }""")),).set_global_opts(title_opts=opts.TitleOpts(title="Multiple Categories", pos_left="center"),legend_opts=opts.LegendOpts(pos_top="3%"),tooltip_opts=opts.TooltipOpts(trigger="item", axis_pointer_type="shadow"),xaxis_opts=opts.AxisOpts(name_gap=30,boundary_gap=True,splitarea_opts=opts.SplitAreaOpts(areastyle_opts=opts.AreaStyleOpts(opacity=1)),axislabel_opts=opts.LabelOpts(formatter="expr {value}"),splitline_opts=opts.SplitLineOpts(is_show=False),),yaxis_opts=opts.AxisOpts(type_="value",min_=-400,max_=600,splitarea_opts=opts.SplitAreaOpts(is_show=False),),datazoom_opts=[opts.DataZoomOpts(type_="inside", range_start=0, range_end=20),opts.DataZoomOpts(type_="slider", xaxis_index=0, is_show=True),],)#.render("multiple_categories.html").render_notebook()
)

在这里插入图片描述

代码详解

  1. 数据准备

    • axis_data:X轴的分类标签
    • data:包含三个类别的数据字典,每个类别包含箱线图所需的统计数据
    • 每个箱线图数据点格式为[upper, Q1, median, Q3, lower],对应箱线图的五个关键统计量
  2. 自定义提示框

    • 使用JsCode自定义提示框格式,展示箱线图的五个关键统计量
    • 提示框内容使用HTML格式,通过<br/>实现换行
    • 这种自定义格式使数据解读更加直观,用户可以清晰看到每个实验的统计指标
  3. 多系列添加

    • 通过三次调用add_yaxis方法添加三个数据系列
    • 每个系列使用不同的类别名称和对应的数据
    • 每个系列都应用了相同的自定义提示框格式
  4. 全局配置

    • 设置标题居中显示
    • 图例放置在顶部3%的位置
    • X轴设置了分隔区域,增强可读性
    • 添加数据缩放功能,支持内部缩放和滑块缩放两种模式
    • Y轴设置了固定的取值范围,确保图表展示效果

📌 多类别箱线图关键点总结

  • 使用JsCode可以高度自定义提示框内容,满足专业数据展示需求
  • 多系列箱线图通过多次调用add_yaxis实现,适合多组数据对比
  • datazoom_opts参数为图表添加交互缩放功能,提升用户体验
  • 数据格式可以灵活定义为字典结构,便于管理多个类别的数据
  • boundary_gap参数控制坐标轴两侧留白,影响图表视觉效果

自定义提示框的优势

自定义提示框为数据可视化带来以下优势:

  1. 信息丰富度:可以展示比默认提示框更多的统计信息
  2. 可读性:通过格式化排版,使数据更加易于理解
  3. 专业性:展示专业统计指标,满足高级数据分析需求
  4. 交互体验:鼠标悬停时提供详细数据解读,增强用户交互体验

后续将继续添加更多图表的实现,包括分组箱线图和自定义箱线图等。请继续关注本博客,获取更多pyecharts可视化技巧!

常见问题解答

❓ 日历图数据格式有什么要求?

日历图要求数据格式为[日期字符串, 数值]的列表,日期字符串需要是YYYY-MM-DD格式。例如:

data = [["2023-01-01", 1500], ["2023-01-02", 2000], ...]

❓ 如何更改日历图的颜色主题?

可以通过VisualMapOpts中的range_color参数自定义颜色:

visualmap_opts=opts.VisualMapOpts(range_color=["#e6f7ff", "#bae7ff", "#91d5ff", "#69c0ff", "#40a9ff"],# 其他配置...
)

❓ 日历图支持哪些交互功能?

日历图支持鼠标悬停显示详细信息,点击日期高亮等交互功能。可以通过tooltip_opts自定义提示框内容。

💡 专业建议:数据可视化的核心是传递信息而非炫技。根据数据特点和展示需求选择合适的图表类型,才能让数据故事更清晰易懂。

总结与展望

通过本教程,我们系统学习了如何使用pyecharts创建五种实用的日历图和箱线图可视化图表,从基础到进阶,全面掌握了这两种图表类型的核心功能和高级应用。

核心收获
  1. 日历图应用:掌握了基础日历图和高级日历热图的实现方法,学会了通过位置调整、颜色映射和标签控制来优化视觉效果

  2. 箱线图技术:从基础箱线图到多类别箱线图,再到与散点图的组合应用,全面理解了箱线图在数据分布分析中的强大功能

  3. 高级技巧:学习了Grid组件的使用、自定义提示框、数据预处理等高级技巧,能够创建更加专业和个性化的可视化图表

实用建议
  • 数据准备:日历图需要严格的日期格式数据,箱线图需要特定的嵌套列表结构,务必注意数据格式要求
  • 视觉优化:合理使用位置参数、颜色映射和标签控制,可以显著提升图表的可读性和专业感
  • 组合应用:尝试将不同图表类型组合使用,如箱线图与散点图的组合,能够展示更丰富的数据分析维度
进阶方向
  1. 探索更多pyecharts组件(如Tab、Timeline)与日历图/箱线图的结合应用
  2. 学习pyecharts的主题定制功能,创建符合特定品牌风格的可视化图表
  3. 研究大数据量下的图表性能优化技巧
  4. 结合实际业务场景,开发更复杂的交互式数据仪表盘

希望本教程能够帮助您更好地掌握pyecharts的日历图和箱线图可视化技术,为您的数据可视化工作提供有力支持!

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在本地获取下载chrome,然后离线搬运到 ECS

场景&#xff1a; 阿里云 ECS 无Y网&#xff0c;无法直接拉取 storage.googleapis.com。因此需先在本地里拿到直链并下载&#xff0c;再上传到 ECS。 注&#xff1a; 这个链接是显示近期的几个版本 https://googlechromelabs.github.io/chrome-for-testing/ 这个链接是所有版…

小土堆目标检测笔记

文章目录1 什么是目标检测2 目标检测常见的数据集2.1 目标检测数据集2.2 目标检测数据集的标注2.3 目标检测工具介绍3 数据集的标注3.1 VOC数据集标注3.2 加载数据集1 什么是目标检测 希望计算机在视频或图像中定位并识别我们感兴趣的目标 定位&#xff1a;找到目标在图像中的…

Linux内核内存管理系列博客教程学习规划

&#x1f4da; 系列总体目标 帮助读者系统理解Linux内核内存管理机制&#xff0c;从基础概念到核心实现&#xff0c;最终能参与内核内存相关开发。&#x1f4c5; 系列大纲&#xff08;共20篇博文&#xff09; 第一部分&#xff1a;基础概念篇&#xff08;4篇&#xff09;Linux内…

2025应届生求职指南:掌握这些新兴技能提升竞争力

2025应届生求职指南&#xff1a;掌握这些新兴技能提升竞争力2025-09-01 21:29:35在当前就业市场竞争日益激烈的背景下&#xff0c;2025届应届生既面临挑战&#xff0c;也迎来新的发展机遇。科技不断进步与行业变革推动了人才需求结构的变化&#xff0c;掌握一些新兴技能已成为提…

DevOps篇之Jenkins实现k8s集群版本发布以及版本管理

设计思路 通过Jenkins 实现 Kubernetes 集群的版本发布和版本管理。并且利用Jenkins实现多集群 K8s 发布。首先需要了解Helm 的应用场景&#xff0c;以及 GitLab 中配置多集群 KUBECONFIG 等问题。现在工具采用 Jenkins&#xff0c;所以需要重点放在 Jenkins 与 K8s 的集成上&a…

AI 智能体架构中的协议设计三部曲:MCP → A2A → AG-UI

AI 智能体应用在企业实际落地越来越多&#xff0c;一个完整的 AI 智能体应用系统通常包含三个主要角色&#xff1a;用户、AI 智能体和外部工具。AI 智能体架构设计的核心任务之一&#xff0c;就是解决这三个角色之间的沟通问题。 这三个角色的沟通&#xff0c;涉及到&#xff1…

Unity6最新零基础入门(知识点复习包含案例)NO.2——Unity6下载与安装(超详细)

前言 随着 Unity 6 版本的推出&#xff0c;全新的功能与优化为开发者带来了更高效的创作体验。不过&#xff0c;在真正开始挥洒创意之前&#xff0c;掌握 Unity Hub 的安装、版本的选择以及 Unity 6 的正确安装方法是至关重要的基础。本文将围绕这些核心步骤展开&#xff0c;为…

【开题答辩全过程】以 健身爱好者饮食管理小程序为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

基于JavaScript的智能合约平台(Agoric)

Agoric通过对象能力模型提升安全性&#xff0c;被用于去中心化金融&#xff08;DeFi&#xff09;衍生品开发。通过简化开发流程和增强安全性&#xff0c;推动去中心化应用&#xff08;DApps&#xff09;的大规模落地。Agoric成立于2018年&#xff0c;由斯坦福大学校友Mark Mill…

mysql实例是什么?

在 ​​MySQL​​ 的语境中&#xff0c;​​“MySQL 实例”&#xff08;MySQL Instance&#xff09;​​ 是指&#xff1a;​​一个正在运行的 MySQL 服务进程及其所管理的独立数据库环境&#xff0c;包括内存结构、后台线程、配置参数、数据文件等。一个 MySQL 实例可以管理一…

别再说AppInventor2只能开发安卓了!苹果iOS现已支持!

AppInventor2中文网&#xff08;https://www.fun123.cn&#xff09;已完成v2.76版本升级。 AI伴侣升级至v2.76&#xff0c;Android SDK由34升级至35&#xff0c;安卓版本由14升级至15。已支持安卓15&#xff01; 重磅升级&#xff01;&#xff01;支持苹果iOS编译及上架…

2025 批量下载雪球和东方财富帖子和文章导出excel和pdf

之前分享过雪球下载 2025年如何批量下载雪球帖子和文章导出pdf&#xff1f;&#xff0c;今天再整理分享下最新雪球和东方财富文章导出excel和pdf 以雪球这个号为例 下载的所有帖子文章内容html&#xff1a; 然后用我开发的工具批量转换为pdf 2025 更新版&#xff1a;苏生不…

JavaEE 初阶第十八期:叩开网络世界的大门

专栏&#xff1a;JavaEE初阶起飞计划 个人主页&#xff1a;手握风云 目录 一、网络发展史 1.1. 独立模式 1.2. 网络互连 二、网络分类 2.1. 局域网 2.2. 广域网 三、IP地址 3.1. 概念 3.2. 格式 四、端口号 4.1. 概念 4.2. 格式 五、协议 5.1. 概念 5.2. 作用 …

SOME/IP-SD中IPv4 SD端点选项详解

<摘要> 本解析围绕IPv4 SD端点选项在AUTOSAR AP R22-11规范中的定义与应用展开。该选项是SOME/IP服务发现&#xff08;SD&#xff09;协议中的关键字段&#xff0c;用于在网络地址不可达或变化的场景下&#xff08;如经NAT网关或使用多宿主设备时&#xff09;&#xff0c…

.NET 8 集成 JWT Bearer Token

注意&#xff1a;这是一种非常简单且不是最低限度安全的设置 JWT 的方法。步骤 1——安装软件包首先&#xff0c;您需要安装一些 NuGet 包。dotnet add package Microsoft.AspCore.Authentication.JwtBearer dotnet add package System.IdentityModel.Tokens.Jwt步骤 2——创建…

模型汇总-数学建模

一、优化模型1.线性规划线性规划&#xff08;Linear Programming, LP&#xff09;是一种数学优化方法&#xff0c;用于在给定的线性约束条件下&#xff0c;找到线性目标函数的最大值或最小值。它是运筹学中最常用的方法之一。线性规划的标准形式最大化问题标准形式&#xff1a;…

2025年09月计算机二级MySQL选择题每日一练——第十二期

计算机二级中选择题是非常重要的&#xff0c;本期是这个系列的最后一期了&#xff01; 答案及解析将在末尾公布&#xff01; 今日主题&#xff1a;综合应用进阶 1、设有如下创建表的语句&#xff1a; CREATE TABLE tb_test( ID INT NOT NULL PRIMARY KEY, sno CHAR(10) NOT …

计组(2)CPU与指令

一、总体认识CPU1、软硬件角度CPU&#xff0c;全称就是中央处理器。从硬件上来说&#xff0c;CPU是一个超大规模集成电路&#xff0c;通过电路实现加法、乘法乃至各种各样的处理逻辑。从软件来说&#xff0c;CPU就是一个执行各种计算机指令的逻辑机器。2、计算机指令所谓的计算…

用Java让家政服务触手可及

家政服务不仅仅包括日常保洁&#xff0c;随着社会的发展&#xff0c;从日常保洁、衣物清洁到家电维修、月嫂保姆&#xff0c;家政服务的场景越发多元。用户不仅追求服务的 “专业度”&#xff0c;更看重 “便捷性”—— 能否快速找到服务、预约服务、了解服务效果&#xff1f;上…

Python OpenCV图像处理与深度学习:Python OpenCV特征检测入门

特征检测与描述&#xff1a;探索图像中的关键点 学习目标 通过本课程&#xff0c;学员们将掌握特征检测的基本概念&#xff0c;了解如何使用OpenCV库中的SIFT和SURF算法进行特征点检测和特征描述符的计算。实验将通过理论讲解与实践操作相结合的方式&#xff0c;帮助学员深入理…