每日五個pyecharts可視化圖表-line:從入門到精通 (4)

歡迎來到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;首先是類未被初始化時…