欢迎来到pyecharts折线图系列的第四篇文章!在前三篇中,我们已经掌握了多种折线图类型,包括基本折线图、平滑折线图、雨量流量关系图、多X轴折线图、堆叠区域图和阶梯图等。在本文中,我们将继续探索五种更高级的折线图类型,帮助您进一步提升数据可视化技能。pyecahts源码在这里插入图片描述

目录

    • 图表1:渐变背景折线图——炫酷视觉效果的实现
      • 代码解释:
      • 应用场景:
      • 注意事项:
    • 图表2:平滑折线图——数据趋势的流畅展示
      • 代码解释:
      • 应用场景:
      • 注意事项:
    • 图表3:自定义标记点折线图——突出显示关键数据
      • 代码解释:
      • 应用场景:
      • 注意事项:
    • 图表4:分段颜色折线图与峰值标记——用电量分布分析
      • 代码解释:
      • 应用场景:
      • 注意事项:
    • 图表5:高级渐变背景折线图与Grid布局——专业数据展示
      • 代码解释:
      • 应用场景:
      • 注意事项:
    • 总结

图表1:渐变背景折线图——炫酷视觉效果的实现

渐变背景折线图通过设置渐变色背景和区域填充,使图表具有更炫酷的视觉效果。这种图表特别适合用于演示和汇报,能够吸引观众的注意力,同时清晰地展示数据趋势。

import pyecharts.options as opts 
from pyecharts.charts import Line 
from pyecharts.commons.utils import JsCode x_data = ["14", "15", "16", "17", "18", "19", "20", "21", "22", "23"] 
y_data = [393, 438, 485, 631, 689, 824, 987, 1000, 1100, 1200] # 定义背景渐变色
background_color_js = ("new echarts.graphic.LinearGradient(0, 0, 0, 1, ""[{offset: 0, color: '#c86589'}, {offset: 1, color: '#06a7ff'}], false)"
) 
# 定义区域填充渐变色
area_color_js = ("new echarts.graphic.LinearGradient(0, 0, 0, 1, ""[{offset: 0, color: '#eb64fb'}, {offset: 1, color: '#3fbbff0d'}], false)"
) c = (# 初始化图表,并设置背景渐变色Line(init_opts=opts.InitOpts(bg_color=JsCode(background_color_js))).add_xaxis(xaxis_data=x_data).add_yaxis(series_name="注册总量",y_axis=y_data,is_smooth=True,  # 平滑折线is_symbol_show=True,  # 显示标记点symbol="circle",  # 标记点形状为圆形symbol_size=6,  # 标记点大小linestyle_opts=opts.LineStyleOpts(color="#fff"),  # 线条颜色为白色label_opts=opts.LabelOpts(is_show=True, position="top", color="white"),  # 显示标签,位于顶部,白色itemstyle_opts=opts.ItemStyleOpts(color="red", border_color="#fff", border_width=3  # 标记点颜色为红色,边框白色,宽度3),tooltip_opts=opts.TooltipOpts(is_show=False),  # 不显示提示框areastyle_opts=opts.AreaStyleOpts(color=JsCode(area_color_js), opacity=1),  # 区域填充渐变).set_global_opts(title_opts=opts.TitleOpts(title="OCTOBER 2015",pos_bottom="5%",pos_left="center",title_textstyle_opts=opts.TextStyleOpts(color="#fff", font_size=16),),xaxis_opts=opts.AxisOpts(type_="category",boundary_gap=False,axislabel_opts=opts.LabelOpts(margin=30, color="#ffffff63"),  # 坐标轴标签颜色和边距axisline_opts=opts.AxisLineOpts(is_show=False),  # 不显示坐标轴线axistick_opts=opts.AxisTickOpts(is_show=True,length=25,linestyle_opts=opts.LineStyleOpts(color="#ffffff1f"),  # 刻度线颜色),splitline_opts=opts.SplitLineOpts(is_show=True, linestyle_opts=opts.LineStyleOpts(color="#ffffff1f")  # 分割线颜色),),yaxis_opts=opts.AxisOpts(type_="value",position="right",  # Y轴位于右侧axislabel_opts=opts.LabelOpts(margin=20, color="#ffffff63"),axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(width=2, color="#fff")  # Y轴线颜色和宽度),axistick_opts=opts.AxisTickOpts(is_show=True,length=15,linestyle_opts=opts.LineStyleOpts(color="#ffffff1f"),),splitline_opts=opts.SplitLineOpts(is_show=True, linestyle_opts=opts.LineStyleOpts(color="#ffffff1f")),),legend_opts=opts.LegendOpts(is_show=False),  # 不显示图例)#.render("line_color_with_js_func.html") 
) 
c.render_notebook()

代码解释:

  • JsCode 用于在Python代码中嵌入JavaScript函数,这里用于定义渐变色
  • background_color_jsarea_color_js 分别定义了图表背景和区域填充的渐变色
  • is_smooth=True 设置折线为平滑曲线
  • symbolsymbol_size 控制标记点的形状和大小
  • itemstyle_opts 设置标记点的颜色、边框颜色和宽度
  • areastyle_opts 设置区域填充样式,这里使用了渐变色
  • xaxis_optsyaxis_opts 详细配置了坐标轴的样式,包括标签、刻度线和分割线
  • title_opts 设置标题的位置、颜色和大小

应用场景:

渐变背景折线图特别适合以下场景:

  1. 数据演示和汇报,需要吸引观众注意力
  2. 产品展示中的数据可视化
  3. 网站和应用程序中的数据仪表盘
  4. 营销材料中的数据展示
    在这里插入图片描述

注意事项:

  1. 渐变色的选择应符合数据的主题和情感,例如增长数据可以使用积极的颜色
  2. 确保文字和图表元素与背景有足够的对比度,保证可读性
  3. 过度使用渐变色可能会分散对数据本身的注意力,应适度使用
  4. 可以通过调整渐变的颜色和偏移量来创建不同的视觉效果
  5. 实际应用中需要替换示例代码中的数据为真实数据

图表2:平滑折线图——数据趋势的流畅展示

平滑折线图通过曲线拟合数据点,使折线更加平滑流畅,适合展示趋势变化较为平缓的数据。这种图表能够减少数据波动带来的视觉干扰,更清晰地呈现数据的整体趋势。

import pyecharts.options as opts
from pyecharts.charts import Line"""
Gallery 使用 pyecharts 1.1.0
参考地址: `https://echarts.apache.org/examples/editor.html?c=line-smooth` 目前无法实现的功能:暂无
"""x_data = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
y_data = [820, 932, 901, 934, 1290, 1330, 1320](Line().set_global_opts(tooltip_opts=opts.TooltipOpts(is_show=False),xaxis_opts=opts.AxisOpts(type_="category"),yaxis_opts=opts.AxisOpts(type_="value",axistick_opts=opts.AxisTickOpts(is_show=True),splitline_opts=opts.SplitLineOpts(is_show=True),),).add_xaxis(xaxis_data=x_data).add_yaxis(series_name="",y_axis=y_data,symbol="emptyCircle",is_symbol_show=True,is_smooth=True,label_opts=opts.LabelOpts(is_show=False),)#.render("smoothed_line_chart.html").render_notebook()
)

代码解释:

  • is_smooth=True 是实现平滑折线的关键参数,它会使折线图的线条变得平滑流畅
  • symbol="emptyCircle" 设置标记点为空圆圈,增加图表的美观度
  • is_symbol_show=True 显示标记点,帮助读者更清晰地识别数据点
  • tooltip_opts=opts.TooltipOpts(is_show=False) 关闭提示框,简化图表
  • splitline_opts=opts.SplitLineOpts(is_show=True) 显示分割线,提高数据的可读性
  • label_opts=opts.LabelOpts(is_show=False) 关闭标签显示,避免图表过于拥挤

应用场景:

平滑折线图特别适合以下场景:

  1. 展示长期趋势数据,如股票价格的长期走势、气温的季节变化等
  2. 当数据点较多且波动较大时,平滑折线可以减少视觉干扰
  3. 需要呈现数据整体趋势而非具体数据点时
  4. 制作更具美感的数据可视化报告
    在这里插入图片描述

注意事项:

  1. 平滑折线图会一定程度上改变原始数据的形状,可能会掩盖一些细节波动
  2. 对于需要精确展示每个数据点的场景,不建议使用平滑折线
  3. 可以通过调整线条颜色和粗细来增强图表的可读性
  4. 结合使用标记点可以更好地展示具体数据值
  5. 实际应用中可以根据需要添加标题、图例等元素

图表3:自定义标记点折线图——突出显示关键数据

自定义标记点折线图允许我们在图表中特定位置添加标记点,用于突出显示重要的数据点或事件。这种图表特别适合强调关键数据,使读者能够快速捕捉到重要信息。

import pyecharts.options as opts 
from pyecharts.charts import Line 
from pyecharts.faker import Faker x, y = Faker.choose(), Faker.values() 
c = (Line() .add_xaxis(x) .add_yaxis("商家A", y, markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(name="自定义标记点", coord=[x[2], y[2]], value=y[2])] ), ) .set_global_opts(title_opts=opts.TitleOpts(title="Line-MarkPoint(自定义)")) #.render("line_markpoint_custom.html") 
) 
c.render_notebook()

代码解释:

  • Faker.choose()Faker.values() 用于生成测试数据
  • markpoint_opts 参数用于配置标记点
  • MarkPointItem 定义了一个标记点,其中:
    • name 是标记点的名称
    • coord 是标记点的坐标,这里使用了[x[2], y[2]]指定第三个数据点
    • value 是标记点的值,这里使用了y[2]
  • set_global_opts 设置了图表标题

应用场景:

自定义标记点折线图特别适合以下场景:

  1. 突出显示时间序列中的重要事件或数据点
  2. 标记业务目标达成点,如销售目标、用户增长目标等
  3. 强调异常值或峰值数据
  4. 在演示和汇报中引导观众关注关键信息
    在这里插入图片描述

注意事项:

  1. 标记点不宜过多,否则会使图表过于拥挤,影响可读性
  2. 可以通过symbolsymbol_size参数自定义标记点的形状和大小
  3. 可以通过itemstyle_opts参数设置标记点的样式
  4. 实际应用中,应根据真实数据调整标记点的位置和值
  5. 可以同时添加多个标记点,只需在data列表中添加多个MarkPointItem对象

图表4:分段颜色折线图与峰值标记——用电量分布分析

分段颜色折线图通过不同颜色区分数据的不同阶段,结合标记区域可以更直观地展示数据的高峰期和低谷期。这种图表特别适合分析时间序列数据中的模式和异常情况。

import pyecharts.options as opts
from pyecharts.charts import Line"""
Gallery 使用 pyecharts 1.1.0
参考地址: `https://echarts.apache.org/examples/editor.html?c=line-sections` 目前无法实现的功能:1、visualMap 暂时无法设置隐藏
"""x_data = ["00:00","01:15","02:30","03:45","05:00","06:15","07:30","08:45","10:00","11:15","12:30","13:45","15:00","16:15","17:30","18:45","20:00","21:15","22:30","23:45",
]
y_data = [300,280,250,260,270,300,550,500,400,390,380,390,400,500,600,750,800,700,600,400,
](Line().add_xaxis(xaxis_data=x_data).add_yaxis(series_name="用电量",y_axis=y_data,is_smooth=True,label_opts=opts.LabelOpts(is_show=False),linestyle_opts=opts.LineStyleOpts(width=2),).set_global_opts(title_opts=opts.TitleOpts(title="一天用电量分布", subtitle="纯属虚构"),tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),xaxis_opts=opts.AxisOpts(boundary_gap=False),yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter="{value} W"),splitline_opts=opts.SplitLineOpts(is_show=True),),visualmap_opts=opts.VisualMapOpts(is_piecewise=True,dimension=0,pieces=[{"lte": 6, "color": "green"},{"gt": 6, "lte": 8, "color": "red"},{"gt": 8, "lte": 14, "color": "green"},{"gt": 14, "lte": 17, "color": "red"},{"gt": 17, "color": "green"},],),).set_series_opts(markarea_opts=opts.MarkAreaOpts(data=[opts.MarkAreaItem(name="早高峰", x=("07:30", "10:00")),opts.MarkAreaItem(name="晚高峰", x=("17:30", "21:15")),]))#.render("distribution_of_electricity.html").render_notebook()
)

代码解释:

  • is_smooth=True 设置折线为平滑曲线,使图表更加流畅美观
  • visualmap_opts 配置了分段颜色映射,根据x轴索引值将折线分为不同颜色段:
    • 索引≤6(对应00:00-07:30):绿色
    • 6<索引≤8(对应08:45-10:00):红色(早高峰)
    • 8<索引≤14(对应11:15-16:15):绿色
    • 14<索引≤17(对应17:30-20:00):红色(晚高峰)
    • 索引>17(对应21:15-23:45):绿色
  • markarea_opts 标记了两个高峰期区域:
    • 早高峰:07:30-10:00
    • 晚高峰:17:30-21:15
  • tooltip_opts 设置提示框触发方式为坐标轴,并将坐标轴指示器类型设置为十字交叉线
  • boundary_gap=False 设置x轴不保留边距,使折线图更加紧凑
  • splitline_opts=opts.SplitLineOpts(is_show=True) 显示y轴分割线,提高数据可读性

应用场景:

分段颜色折线图特别适合以下场景:

  1. 电力、水资源等公共事业的用量分布分析
  2. 交通流量监测与高峰期识别
  3. 网站访问量或APP使用时长的时段分析
  4. 生产线设备运行状态监控
  5. 环境监测数据的时段变化分析
    在这里插入图片描述

注意事项:

  1. 颜色分段的设置应根据实际业务需求进行调整,确保颜色区分度足够
  2. 标记区域不宜过多,以免图表过于复杂影响可读性
  3. 可以通过调整visualmap_opts中的pieces参数来定义不同的分段规则
  4. 实际应用中,建议根据真实数据的特点调整平滑度和线条样式
  5. 对于长时间序列数据,可以考虑使用dataZoom组件实现数据缩放功能

图表5:高级渐变背景折线图与Grid布局——专业数据展示

高级渐变背景折线图结合了Grid布局组件,可以更精确地控制图表在画布中的位置,同时通过精心设计的渐变色和标签样式,打造出专业级的数据可视化效果。这种图表特别适合用于企业报表、数据分析平台和专业演示。

import pyecharts.options as opts
from pyecharts.charts import Line, Grid
from pyecharts.commons.utils import JsCode"""
参考地址: `https://gallery.echartsjs.com/editor.html?c=xEyDk1hwBx` 
"""x_data = ["14", "15", "16", "17", "18", "19", "20", "21", "22", "23"]
y_data = [393, 438, 485, 631, 689, 824, 987, 1000, 1100, 1200]background_color_js = ("new echarts.graphic.LinearGradient(0, 0, 0, 1, ""[{offset: 0, color: '#c86589'}, {offset: 1, color: '#06a7ff'}], false)"
)
area_color_js = ("new echarts.graphic.LinearGradient(0, 0, 0, 1, ""[{offset: 0, color: '#eb64fb'}, {offset: 1, color: '#3fbbff0d'}], false)"
)c = (Line(init_opts=opts.InitOpts(bg_color=JsCode(background_color_js))).add_xaxis(xaxis_data=x_data).add_yaxis(series_name="注册总量",y_axis=y_data,is_smooth=True,is_symbol_show=True,symbol="circle",symbol_size=6,linestyle_opts=opts.LineStyleOpts(color="#fff"),label_opts=opts.LabelOpts(is_show=True, position="top", color="white"),itemstyle_opts=opts.ItemStyleOpts(color="red", border_color="#fff", border_width=3),tooltip_opts=opts.TooltipOpts(is_show=False),areastyle_opts=opts.AreaStyleOpts(color=JsCode(area_color_js), opacity=1),).set_global_opts(title_opts=opts.TitleOpts(title="OCTOBER 2015",pos_bottom="5%",pos_left="center",title_textstyle_opts=opts.TextStyleOpts(color="#fff", font_size=16),),xaxis_opts=opts.AxisOpts(type_="category",boundary_gap=False,axislabel_opts=opts.LabelOpts(margin=30, color="#ffffff63"),axisline_opts=opts.AxisLineOpts(is_show=False),axistick_opts=opts.AxisTickOpts(is_show=True,length=25,linestyle_opts=opts.LineStyleOpts(color="#ffffff1f"),),splitline_opts=opts.SplitLineOpts(is_show=True, linestyle_opts=opts.LineStyleOpts(color="#ffffff1f")),),yaxis_opts=opts.AxisOpts(type_="value",position="right",axislabel_opts=opts.LabelOpts(margin=20, color="#ffffff63"),axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(width=2, color="#fff")),axistick_opts=opts.AxisTickOpts(is_show=True,length=15,linestyle_opts=opts.LineStyleOpts(color="#ffffff1f"),),splitline_opts=opts.SplitLineOpts(is_show=True, linestyle_opts=opts.LineStyleOpts(color="#ffffff1f")),),legend_opts=opts.LegendOpts(is_show=False),)
)(Grid().add(c,grid_opts=opts.GridOpts(pos_top="20%",pos_left="10%",pos_right="10%",pos_bottom="15%",is_contain_label=True,),)#.render("beautiful_line_chart.html").render_notebook()
)

代码解释:

  • 与图表1相比,本图表增加了Grid组件的使用,通过grid_opts精确控制图表在画布中的位置
  • pos_toppos_leftpos_rightpos_bottom参数设置图表与画布边缘的距离
  • is_contain_label=True确保坐标轴标签被包含在Grid区域内,避免标签被截断
  • 背景渐变色和区域填充渐变色使用JsCode定义,与图表1类似
  • is_smooth=True设置平滑折线,symbolsymbol_size定义标记点样式
  • label_opts设置数据标签显示在顶部,颜色为白色,提高可读性
  • axisline_optsaxistick_optssplitline_opts详细配置了坐标轴样式,营造出专业的视觉效果

应用场景:

高级渐变背景折线图特别适合以下场景:

  1. 企业季度/年度数据报告
  2. 数据分析平台的仪表盘
  3. 金融数据可视化
  4. 产品发布会演示材料
  5. 专业学术报告中的数据展示
    在这里插入图片描述

注意事项:

  1. Grid布局参数需要根据实际数据和展示需求进行调整,确保图表元素布局合理
  2. 渐变色的选择应符合品牌调性和数据主题,避免过于鲜艳的颜色组合
  3. 确保文字和图表元素与背景有足够的对比度,特别是在使用深色背景时
  4. 对于复杂图表,建议使用is_contain_label=True以避免标签被截断
  5. 实际应用中,可以结合dataZoomtooltip等组件进一步增强交互体验
  6. 在网页中嵌入时,注意调整容器大小以适应Grid布局

总结

在本文中,我们详细介绍了五种高级折线图类型,从视觉效果到功能应用,全方位展示了pyecharts的强大 capabilities:

  1. 渐变背景折线图:通过炫酷的渐变色背景和区域填充,有效吸引观众注意力,适合数据演示和汇报。
  2. 平滑折线图:通过曲线拟合减少数据波动视觉干扰,清晰呈现整体趋势,适合展示长期趋势数据。
  3. 自定义标记点折线图:允许在特定位置添加标记点,突出显示关键数据,适合强调异常值或业务目标达成点。
  4. 分段颜色折线图与峰值标记:通过不同颜色区分数据阶段并标记高峰期,特别适合用电量、交通流量等时段分析。
  5. 高级渐变背景折线图与Grid布局:结合Grid组件精确控制图表位置,打造专业级数据可视化效果,适合企业报表和数据分析平台。

每种图表都有其独特的应用场景和注意事项,掌握这些技巧可以帮助您创建更加丰富、专业的数据可视化作品。

如果您想了解更多关于pyecharts的使用技巧,请关注我们的系列文章。感谢您的阅读!

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

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

相关文章

MySQL中的字符串函数

目录 一、字符串【分割】函数&#xff1a;SUBSTRING_INDEX() SUBSTRING_INDEX函数 练习题 统计每种性别的人数 提取博客URL中的用户名 截取出年龄 SQL83 商品id数据清洗统计 SQL250 查找字符串中逗号出现的次数 二、字符串【截取】函数&#xff1a;SUBSTRING() 基本语…

CodeBuddy IDE深度体验:AI驱动的全栈开发新时代

在人工智能技术迅猛发展的今天&#xff0c;开发者工具正在经历一场深刻的变革。腾讯推出的CodeBuddy IDE作为全球首个“产设研一体”的AI全栈高级工程师工具&#xff0c;重新定义了开发者的日常工作流程。 从需求分析到设计、编码、部署&#xff0c;CodeBuddy通过AI能力将传统…

实现Android图片手势缩放功能的完整自定义View方案,结合了多种手势交互功能

主要功能特点&#xff1a;支持双指手势缩放图片&#xff0c;通过ScaleGestureDetector实现平滑的缩放效果25双击图片可切换初始大小和中等放大比例16使用Matrix进行图像变换&#xff0c;保持缩放中心点为手势焦点位置57自动缩放动画通过Runnable实现渐进式变化1限制最小和最大缩…

uni-app实战教程 从0到1开发 画图软件 (橡皮擦)

一、本期内容简述1. 开发内容上一期&#xff0c;我们一起学习了如何进行绘画&#xff0c;本期我们将学习如何擦除我们所绘画的内容&#xff0c;也就是“橡皮擦”功能。首先&#xff0c;我们应该明确需求&#xff0c;橡皮擦可以擦除掉我们绘画的内容。2. 开发需求所以开发需求&a…

《A Practical Guide to Building Agents》文档学习

《A Practical Guide to Building Agents》文档总结 该文档是一份面向产品和工程团队的实用指南&#xff0c;旨在帮助团队探索并构建首个基于大语言模型&#xff08;LLM&#xff09;的智能体&#xff08;Agent&#xff09;&#xff0c;提炼了大量客户部署经验&#xff0c;提供了…

OpenCV图像注册模块

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 注册模块实现了参数化图像配准。所实现的方法是直接对齐&#xff08;direct alignment&#xff09;&#xff0c;即&#xff0c;它直接使用像素值来…

模型驱动与分布式建模:技术深度与实战落地指南

摘要 在AI、云原生与全球化协作的大潮中&#xff0c;模型驱动架构&#xff08;MDA&#xff09;与分布式建模不再是概念&#xff0c;而是支撑复杂系统设计与持续演化的核心引擎。本文从元模型、模型转换引擎&#xff0c;到协同协议、冲突解决算法&#xff0c;再到AI辅助建模与自…

计算机基础速通--数据结构·图的基础应用二(基础图算法)

如有问题大概率是我的理解比较片面&#xff0c;欢迎评论区或者私信指正。 最近了解到了一个新的改变和提高自己的方法时刻记录不论多小的事情都记下&#xff0c;我目前用了4天&#xff0c;之前感觉一天天忙死但没啥收获&#xff0c;但是记录了之后知道自己的时间花在了哪里&…

设计模式-策略模式 Java

模式概述 策略模式是一种行为型设计模式&#xff0c;它通过定义一系列可互换的算法&#xff0c;并将每个算法封装成独立类&#xff0c;使客户端能够根据需要动态切换算法 简单代码示例 // 1. 抽象策略接口 interface PaymentStrategy {void pay(int amount); }// 2. 具体策略实…

【机器学习深度学习】客观评估训练程度

目录 前言 一、什么是客观评估&#xff1f; 二、客观评估的两大核心方法 1. 判别式评测&#xff08;Discriminative Evaluation&#xff09; 2. 生成式评测&#xff08;Generative Evaluation&#xff09; 三、为什么客观评估成本更高&#xff1f; 1.训练目标收紧 2.训…

Linux软件编程:线程间通信

目录 一、线程间通信基础 1. 概念 2. 通信基础&#xff1a;共享空间 二、互斥锁&#xff08;Mutex&#xff09; 1. 概念 2. 使用流程 3. 函数接口 三、死锁 1. 概念 2. 死锁产生的 4 个必要条件 3. 避免死锁的方法 四、信号量&#xff08;Semaphore&#xff09; 1…

【学习笔记】JVM GC回收机制

1.三种基本的垃圾回收算法 1>标记-清除法 ①先将从树根开始&#xff0c;可以到达的对象标记为可达&#xff08;JVM中的对象们存储为一颗树&#xff09; ②将没有标记的对象清除掉 缺点&#xff1a;会产生大量内存碎片 2>复制算法&#xff08;新生代&#xff09; ①先将a区…

软件的终极:为70亿人编写70亿个不同的软件

这是个脑洞大开的想法。昨天晚上&#xff0c;我在用Claude code帮我写一个小工具&#xff0c;用来管理我本地那些乱七八糟的文档。写着写着&#xff0c;突然意识到一个问题&#xff1a;这个工具完全是按照我的工作习惯定制的——我喜欢用Markdown&#xff0c;习惯把TODO放在文件…

LakeHouse--湖仓一体架构

大家可能发现了,近些年湖仓一体数据架构被提及的频率越来越高。各家大厂也有湖仓一体架构的实践,也有很多公开分享。 那什么是湖仓一体?为什么出现了湖仓一体架构,换言之,它解决了以前数据仓库、数据湖+数仓两层架构所不能解决的什么问题? 本文会从数仓、数据湖依次介绍…

基于FPGA的实时图像处理系统(1)——SDRAM回环测试

SDRAM回环设计 文章目录SDRAM回环设计一、SDRAM简介1、引脚2、内部结构框图3、操作指令二、系统设计三、实现流程1、SDRAM接口2、FIFO设置3、内部SDRAM的控制模块4、其他四、实现效果五、总结六、代码1、top2、sdram_top3、sdram_ctrl一、SDRAM简介 SDRAM英文全称“Synchronou…

一键检测接口是否存活:用 Python/Shell 写个轻量级监控脚本

网罗开发&#xff08;小红书、快手、视频号同名&#xff09;大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等方…

优秀工具包-Hutool工具详解

优秀工具包-Hutool工具详解 课程概述 Hutool简介 定位&#xff1a; 小而全的Java工具库&#xff0c;简化开发流程。对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装。 核心优势&#xff1a;零依赖、高性能、中文网页完善。 应用场景&#xff1a;Web开发、数…

《深度解构:构建浏览器端Redis控制台的WebSocket协议核心技术》

Redis作为高性能的内存数据库,其原生客户端多依赖命令行或桌面应用,而浏览器端控制台的缺失,成为制约Web化管理的关键瓶颈,WebSocket协议的出现,打破了HTTP协议单向通信的局限,为浏览器与Redis服务之间建立持久、双向的实时连接提供了可能。本文将从协议本质、交互逻辑、…

Pushgateway安装和部署,以及对应Prometheus调整

目录Pushgateway简介安装验证Prometheus的配置&#xff1a;其它命令Pushgateway简介 Pushgateway 是 Prometheus 生态系统中的一个组件。主要特点是推送而非拉取&#xff1a;Prometheus 默认采用拉取&#xff08;pull&#xff09;模式收集指标&#xff0c;但 Pushgateway 允许…

JAVA面试汇总(四)JVM(一)

久违的重新写了一篇面试汇总的&#xff0c;关于JVM的一篇&#xff0c;一共三篇&#xff0c;今天写了第一篇&#xff0c;继续重新学习&#xff0c;重新卷起来&#xff0c;come on baby 1.什么情况下会触发类的初始化&#xff1f; &#xff08;1&#xff09;首先是类未被初始化时…