Python數據可視化科技圖表繪制系列教程(二)

目錄

表格風格圖

使用Seaborn函數繪圖

設置圖表風格

設置顏色主題

圖表分面

繪圖過程

使用繪圖函數繪圖

定義主題

分面1

分面2


【聲明】:未經版權人書面許可,任何單位或個人不得以任何形式復制、發行、出租、改編、匯編、傳播、展示或利用本博客的全部或部分內容,也不得在未經版權人授權的情況下將本博客用于任何商業目的。但版權人允許個人學習、研究、欣賞等非商業性用途的復制和傳播。非常推薦大家學習《Python數據可視化科技圖表繪制》這本書籍。

表格風格圖

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.colors as mcolors
from matplotlib.patches import Rectanglenp.random.seed(19781101)			# 固定隨機種子,以便結果可復現def plot_scatter(ax,prng,nb_samples=100):"""繪制散點圖"""for mu,sigma,marker in [(-.5,0.75,'o'),(0.75,1.,'s')]:x,y=prng.normal(loc=mu,scale=sigma,size=(2,nb_samples))ax.plot(x,y,ls='none',marker=marker)ax.set_xlabel('X-label')ax.set_title('Axes title')return axdef plot_colored_lines(ax):"""繪制顏色循環線條"""t=np.linspace(-10,10,100)def sigmoid(t,t0):return 1/(1+np.exp(-(t-t0)))nb_colors=len(plt.rcParams['axes.prop_cycle'])shifts=np.linspace(-5,5,nb_colors)amplitudes=np.linspace(1,1.5,nb_colors)for t0,a in zip(shifts,amplitudes):ax.plot(t,a*sigmoid(t,t0),'-')ax.set_xlim(-10,10)return axdef plot_bar_graphs(ax,prng,min_value=5,max_value=25,nb_samples=5):"""繪制兩個并排的柱狀圖。"""x=np.arange(nb_samples)ya,yb=prng.randint(min_value,max_value,size=(2,nb_samples))width=0.25ax.bar(x,ya,width)ax.bar(x+width,yb,width,color='C2')ax.set_xticks(x+width,labels=['a','b','c','d','e'])return axdef plot_colored_circles(ax,prng,nb_samples=15):"""繪制彩色圓形。"""for sty_dict,j in zip(plt.rcParams['axes.prop_cycle'](),range(nb_samples)):ax.add_patch(plt.Circle(prng.normal(scale=3,size=2),radius=1.0,color=sty_dict['color']))ax.grid(visible=True)# 添加標題以啟用網格plt.title('ax.grid(True)',family='monospace',fontsize='small')ax.set_xlim([-4,8])ax.set_ylim([-5,6])ax.set_aspect('equal',adjustable='box')			# 繪制圓形return axdef plot_image_and_patch(ax,prng,size=(20,20)):"""繪制圖像和圓形補丁。"""values=prng.random_sample(size=size)ax.imshow(values,interpolation='none')c=plt.Circle((5,5),radius=5,label='patch')ax.add_patch(c)# 移除刻度ax.set_xticks([])ax.set_yticks([])def plot_histograms(ax,prng,nb_samples=10000):"""繪制四個直方圖和一個文本注釋。"""params=((10,10),(4,12),(50,12),(6,55))for a,b in params:values=prng.beta(a,b,size=nb_samples)ax.hist(values,histtype="stepfilled",bins=30,alpha=0.8,density=True)# 添加小注釋。ax.annotate('Annotation',xy=(0.25,4.25),xytext=(0.9,0.9),textcoords=ax.transAxes,va="top",ha="right",bbox=dict(boxstyle="round",alpha=0.2),arrowprops=dict(arrowstyle="->",connectionstyle="angle,angleA=-95,angleB=35,rad=10"),)return axdef plot_figure(style_label=""):"""設置并繪制具有給定樣式的演示圖。"""# 在不同的圖之間使用專用的RandomState實例繪制相同的“隨機”值prng=np.random.RandomState(96917002)# 創建具有特定樣式的圖和子圖fig,axs=plt.subplots(ncols=6,nrows=1,num=style_label,figsize=(14.8,2.8),layout='constrained')# 添加統一的標題,標題顏色與背景顏色相匹配background_color=mcolors.rgb_to_hsv(mcolors.to_rgb(plt.rcParams['figure.facecolor']))[2]if background_color<0.5:title_color=[0.8,0.8,1]else:title_color=np.array([19,6,84])/256fig.suptitle(style_label,x=0.01,ha='left',color=title_color,fontsize=14,fontfamily='DejaVu Sans',fontweight='normal')plot_scatter(axs[0],prng)plot_image_and_patch(axs[1],prng)plot_bar_graphs(axs[2],prng)plot_colored_lines(axs[3])plot_histograms(axs[4],prng)plot_colored_circles(axs[5],prng)# 添加分隔線rec=Rectangle((1+0.025,-2),0.05,16,clip_on=False,color='gray')axs[4].add_artist(rec)# 保存圖片plt.savefig(f'{style_label}.png', dpi=600)plt.close(fig)  # 關閉當前圖形以避免內存占用過多if __name__=="__main__":# 獲取所有可用的樣式列表,按字母順序排列style_list=['default','classic']+sorted(style for style in plt.style.availableif style !='classic' and not style.startswith('_'))# 繪制每種樣式的演示圖for style_label in style_list:with plt.rc_context({"figure.max_open_warning":len(style_list)}):with plt.style.context(style_label):plot_figure(style_label=style_label)plt.show()
表格風格圖_bmh
表格風格圖_classic
表格風格圖_dark_background
表格風格圖_default
表格風格圖_fast
表格風格圖_fivethirtyeight
表格風格圖_ggplot
表格風格圖_grayscale
表格風格圖_petroff10
表格風格圖_seaborn-v0_8
表格風格圖_seaborn-v0_8-bright
表格風格圖_seaborn-v0_8-colorblind
表格風格圖_seaborn-v0_8-dark
表格風格圖_seaborn-v0_8-darkgrid
表格風格圖_seaborn-v0_8-dark-palette
表格風格圖_seaborn-v0_8-deep
表格風格圖_seaborn-v0_8-muted
表格風格圖_seaborn-v0_8-notebook
表格風格圖_seaborn-v0_8-paper
表格風格圖_seaborn-v0_8-pastel
表格風格圖_seaborn-v0_8-poster
表格風格圖_seaborn-v0_8-talk
表格風格圖_seaborn-v0_8-ticks
表格風格圖_seaborn-v0_8-white
表格風格圖_seaborn-v0_8-whitegrid
表格風格圖_Solarize_Light2
表格風格圖_tableau-colorblind10

使用Seaborn函數繪圖

import seaborn as sns
import matplotlib.pyplot as plt# 加載數據集
iris=sns.load_dataset("iris",data_home='seaborn-data',cache=True)
tips=sns.load_dataset("tips",data_home='seaborn-data',cache=True)
car_crashes=sns.load_dataset("car_crashes",data_home='seaborn-data',cache=True)
penguins=sns.load_dataset("penguins",data_home='seaborn-data',cache=True)
diamonds=sns.load_dataset("diamonds",data_home='seaborn-data',cache=True)plt.figure(figsize=(15,8))				# 設置畫布
# 第1幅圖:iris數據集的散點圖
plt.subplot(2,3,1)
sns.scatterplot(x="sepal_length",y="sepal_width",hue="species",data=iris)
plt.title("Iris scatterplot")# 第2幅圖:tips 數據集的箱線圖
plt.subplot(2,3,2)
tips=sns.load_dataset("tips",data_home='seaborn-data',cache=True)
sns.boxplot(x="day",y="total_bill",hue="smoker",data=tips)
plt.title("Tips boxplot")# 第3幅圖:tips 數據集的小提琴圖
plt.subplot(2,3,3)
sns.violinplot(x="day",y="total_bill",hue="smoker",data=tips)
plt.title("Tips violinplot")# 第4幅圖:car_crashes 數據集的直方圖
plt.subplot(2,3,4)
sns.histplot(car_crashes['total'],bins=20)
plt.title("Car Crashes histplot")# 第5幅圖:penguins 數據集的點圖
plt.subplot(2,3,5)
sns.pointplot(x="island",y="bill_length_mm",hue="species",data=penguins)
plt.title("Penguins pointplot")# 第6幅圖:diamonds 數據集的計數圖
plt.subplot(2,3,6)
sns.countplot(x="cut",data=diamonds)
plt.title("Diamonds countplot")plt.tight_layout()# 保存圖片
plt.savefig('P75使用Seaborn函數繪圖.png', dpi=600, transparent=True)
plt.show()
使用Seaborn函數繪圖

設置圖表風格

import seaborn as sns
import matplotlib.pyplot as pltsns.set_style("darkgrid")			# 設置圖表風格為 darkgrid
iris=sns.load_dataset("iris")		# 加載 iris 數據集# 繪制花瓣長度與寬度的散點圖
sns.scatterplot(x="petal_length",y="petal_width",hue="species",data=iris)
plt.title("Scatter Plot of Petal Length vs Petal Width")# 保存圖片
plt.savefig('P77設置圖表風格.png', dpi=600, transparent=True)
plt.show()
設置圖表風格

設置顏色主題

import seaborn as sns
import matplotlib.pyplot as pltsns.set_palette("deep")				# 設置顏色主題為deep
tips=sns.load_dataset("tips")		# 加載 tips 數據集# 繪制小費金額的小提琴圖,按照就餐日期和吸煙者區分顏色
sns.violinplot(x="day",y="total_bill",hue="smoker",data=tips)
plt.title("Tips violinplot")		# 設置圖表標題# 保存圖片
plt.savefig('P78設置顏色主題.png', dpi=600, transparent=True)
plt.show()
設置顏色主題

圖表分面

import seaborn as sns
import matplotlib.pyplot as pltiris=sns.load_dataset("iris")			# 加載iris數據集# 創建 FacetGrid 對象,按照種類('species')進行分面
g=sns.FacetGrid(iris,col="species",margin_titles=True)
# 在每個子圖中繪制花萼長度與花萼寬度的散點圖
g.map(sns.scatterplot,"sepal_length","sepal_width")
g.set_axis_labels("Sepal Length","Sepal Width")		# 設置子圖標題# 保存圖片
plt.savefig('P80圖表分面.png', dpi=600, transparent=True)
plt.show()
圖表分面

繪圖過程

from plotnine import *
import seaborn as sns
import warnings# 忽略 PlotnineWarning
warnings.filterwarnings("ignore", category=UserWarning, module="plotnine")# 加載數據集
penguins = sns.load_dataset("penguins", data_home='seaborn-data', cache=True)# 檢查并處理缺失值
penguins = penguins.dropna()# 創建畫布和導入數據
p = ggplot(penguins, aes(x='bill_length_mm', y='bill_depth_mm', color='species'))# 添加幾何對象圖層-散點圖,并進行美化
p = p + geom_point(size=3, alpha=0.7)# 設置標度
p = p + scale_x_continuous(name='Length (mm)')
p = p + scale_y_continuous(name='Depth (mm)')# 設置主題和其他參數
p = p + theme(legend_position='top', figure_size=(6, 4))# 保存繪圖
ggsave(p, filename="P82繪圖過程.png", width=6, height=4, dpi=600)
繪圖過程

使用繪圖函數繪圖

import warnings
from plotnine import *
from plotnine.data import *# 忽略 PlotnineWarning
warnings.filterwarnings("ignore", category=UserWarning, module="plotnine")# 散點圖-mpg 數據集
p1 = (ggplot(mpg) +aes(x='displ', y='hwy') +geom_point(color='blue') +labs(title='Displacement vs Highway MPG') +theme(plot_title=element_text(size=14, face='bold')))# 箱線圖-diamonds 數據集
p2 = (ggplot(diamonds.sample(1000)) +aes(x='cut', y='price', fill='cut') +geom_boxplot() +labs(title='Diamond Price by Cut') +scale_fill_brewer(type='qual', palette='Pastel1') +theme(plot_title=element_text(size=14, face='bold')))# 直方圖-msleep 數據集
p3 = (ggplot(msleep) +aes(x='sleep_total') +geom_histogram(bins=20, fill='green', color='black') +labs(title='Total Sleep in Mammals') +theme(plot_title=element_text(size=14, face='bold')))# 線圖-economics 數據集
p4 = (ggplot(economics) +aes(x='date', y='unemploy') +geom_line(color='red') +labs(title='Unemployment over Time') +theme(plot_title=element_text(size=14, face='bold')))# 條形圖-presidential 數據集
presidential['duration'] = (presidential['end'] - presidential['start']).dt.days
p5 = (ggplot(presidential) +aes(x='name', y='duration', fill='name') +geom_bar(stat='identity') +labs(title='Presidential Terms Duration') +scale_fill_hue(s=0.90, l=0.65) +theme(axis_text_x=element_text(rotation=90, hjust=1),plot_title=element_text(size=14, face='bold')))# 折線圖-midwest 數據集
p6 = (ggplot(midwest) +aes(x='area', y='popdensity') +geom_line(color='purple') +labs(title='Population Density vs Area') +theme(plot_title=element_text(size=14, face='bold')))# 保存圖片
plots = [p1, p2, p3, p4, p5, p6]
plot_names = ['scatter_plot', 'boxplot', 'histogram', 'line_plot', 'bar_plot', 'line_chart']for plot, name in zip(plots, plot_names):plot.save(f'P85使用繪圖函數繪圖_{name}.png', width=8, height=6, dpi=600, transparent=True)
使用繪圖函數繪圖_bar_plot
使用繪圖函數繪圖_boxplot
使用繪圖函數繪圖_histogram
使用繪圖函數繪圖_line_chart
使用繪圖函數繪圖_line_plot
使用繪圖函數繪圖_scatter_plot

定義主題

from plotnine import *
from plotnine.data import mpg# 創建散點圖
p = (ggplot(mpg, aes(x='displ', y='hwy', color='displ')) +geom_point() +  # 添加點圖層scale_color_gradient(low='blue', high='red') +  # 設置顏色漸變labs(title='Engine Displacement vs. Highway MPG',  # 設置圖表標題x='Engine Displacement (L)',  # 設置x軸標題y='Miles per Gallon (Highway)') +  # 設置y軸標題theme_minimal() +  # 使用最小主題theme(axis_text_x=element_text(angle=45, hjust=1),  # 自定義x軸文字樣式axis_text_y=element_text(color='darkgrey'),  # 自定義y軸文字樣式plot_background=element_rect(fill='whitesmoke'),  # 自定義圖表背景色panel_background=element_rect(fill='white', color='black', size=0.5),  # 自定義面板背景和邊框panel_grid_major=element_line(color='lightgrey'),  # 自定義主要網格線顏色panel_grid_minor=element_line(color='lightgrey', linestyle='--'),  # 自定義次要網格線樣式legend_position='right',  # 設置圖例位置figure_size=(8, 6)))  # 設置圖形大小# 保存圖片
p.save('P88定義主題.png', dpi=600, transparent=True)# 顯示圖形
print(p)
定義主題

分面1

from plotnine import *
from plotnine.data import mpg# 創建散點圖并按照`class`變量進行分面,添加顏色漸變
p = (ggplot(mpg, aes(x='displ', y='hwy', color='displ')) +geom_point() +scale_color_gradient(low='blue', high='orange') +  # 添加顏色漸變facet_wrap('~class') +  # 按照汽車類型分面labs(title='Engine Displacement vs. Highway MPG by Vehicle Class',x='Engine Displacement (L)',y='Miles per Gallon (Highway)'))# 保存圖片
p.save('P89分面1.png', dpi=600, transparent=True)# 顯示圖片
p.draw()
分面1

分面2

from plotnine import *
from plotnine.data import mpg# 創建散點圖并按照class變量進行分面,根據drv變量映射顏色
p=(ggplot(mpg,aes(x='displ',y='hwy',color='drv'))+geom_point()+						# 添加點圖層scale_color_brewer(type='qual',palette='Set1')+	# 使用定性的顏色方案facet_grid('drv ~ class')+			# 行是驅動類型,列是汽車類型labs(title='Engine Displacement vs. Highway MPG by Vehicle Class',x='Engine Displacement (L)',y='Miles per Gallon (Highway)')+theme_light()+ 						# 使用亮色主題theme(figure_size=(10,6),			# 調整圖形大小strip_text_x=element_text(size=10,color='black',angle=0),# 自定義分面標簽的樣式legend_title=element_text(color='blue',size=10),# 自定義圖例標題的樣式legend_text=element_text(size=8),		# 自定義圖例文本的樣式legend_position='right'))	# 調整圖例位置# 保存圖片
p.save('P90分面2.png', dpi=600, transparent=True)# 顯示圖片
p.draw()
分面2

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/85707.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/85707.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/85707.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LeetCode算法題 (搜索二維矩陣)Day18!!!C/C++

https://leetcode.cn/problems/search-a-2d-matrix/description/ 一、題目分析 給你一個滿足下述兩條屬性的 m x n 整數矩陣&#xff1a; 每行中的整數從左到右按非嚴格遞增順序排列。每行的第一個整數大于前一行的最后一個整數。 給你一個整數 target &#xff0c;如果 ta…

獵板硬金鍍層厚度:新能源汽車高壓系統的可靠性基石

在新能源汽車的電池管理系統&#xff08;BMS&#xff09;和電機控制器中&#xff0c;硬金鍍層厚度直接關系到高壓環境下的電氣穩定性與使用壽命。獵板針對車載場景開發的耐電遷移方案&#xff08;金層 2.5μm&#xff0c;鎳層 8μm&#xff09;&#xff0c;經 150℃/85% RH 高壓…

亞馬遜站內信規則2025年重大更新:避坑指南與合規策略

亞馬遜近期對Buyer-Seller Messaging&#xff08;買家-賣家站內信&#xff09;規則進行了顯著收緊&#xff0c;明確將一些曾經的“灰色操作”列為違規。違規操作輕則收到警告&#xff0c;重則導致賬戶暫停或績效受限。本文為您全面解析本次規則更新的核心要點、背后邏輯&#x…

WPF可拖拽ListView

1.控件描述 WPF實現一個ListView控件Item子項可刪除也可拖拽排序&#xff0c;效果如下圖所示 2.實現代碼 配合 WrapPanel 實現水平自動換行&#xff0c;并開啟拖拽 <ListViewx:Name"listView"Grid.Row"1"Width"300"AllowDrop"True&…

相機--雙目立體相機

教程 鏈接1 教程匯總 立體匹配算法基礎概念 視頻講解攝像機標定和雙目立體原理 兩個鏡頭。 雙目相機也叫立體相機--Stereo Camera&#xff0c;屬于深度相機。 作用 1&#xff0c;獲取圖像特征&#xff1b; 2&#xff0c;獲取圖像深度信息&#xff1b; 原理 原理和標定 …

Unity3D仿星露谷物語開發59之定制角色襯衫

1、目標 自定義角色襯衫、褲子、手臂顏色。 2、概念 在Assets -> Sprites -> Output Textures下&#xff0c;Customised_farmer為目前角色所用的精靈表。 如果上面是輸出紋理&#xff0c;那么輸入紋理是什么呢&#xff1f;它位于Assets/Sprites/Sprite Textures/Chara…

【HarmonyOS 5】游戲開發教程

一、開發環境搭建 ?工具配置? 安裝DevEco Studio 5.1&#xff0c;啟用CodeGenie AI助手&#xff08;Settings → Tools → AI Assistant&#xff09;配置游戲模板&#xff1a;選擇"Game"類型項目&#xff0c;勾選手機/平板/折疊屏多設備支持 二、游戲引擎核心架構…

深度探索:如何用DeepSeek重構你的工作流

前言:AI時代的工作革命 在人工智能浪潮席卷的今天,DeepSeek作為國產大模型的代表之一,正以其強大的自然語言處理能力、代碼生成能力和多模態交互特性,重新定義著人類的工作方式。根據IDC報告顯示,2024年企業級AI應用市場規模已突破800億美元,其中智能辦公場景占比達32%,…

Linux 進程調度與管理:從內核管理到調度機制的深度解析

文章目錄 引言一、進程基礎&#xff1a;概念與核心數據結構1.1 進程的本質&#xff1a;程序的動態化身1.2 進程控制塊&#xff08;PCB&#xff09;&#xff1a;內核管理的靈魂1.2.1 鏈表節點嵌入1.2.2 鏈表操作宏1.2.3 全局鏈表管理 1.3 進程查看與系統調用1.3.1 通過系統調用獲…

信息學奧賽一本通 1570:【例 2】能量項鏈 | 1843:【06NOIP提高組】能量項鏈 | 洛谷 P1063 [NOIP 2006 提高組] 能量項鏈

【題目鏈接】 ybt 1570&#xff1a;【例 2】能量項鏈 ybt 1843&#xff1a;【06NOIP提高組】能量項鏈 洛谷 P1063 [NOIP 2006 提高組] 能量項鏈 【題目考點】 1. 動態規劃&#xff1a;區間動規 2. 環形序列 解決方法&#xff1a;破環為鏈 模板題&#xff1a;洛谷 P1880 [N…

旅游微信小程序制作指南

想創建旅游微信小程序嗎&#xff1f;知道旅游業企業怎么打造自己的小程序嗎&#xff1f;這里有零基礎小白也能學會的教程&#xff0c;教你快速制作旅游類微信小程序&#xff01; 旅游行業能不能開發微信小程序呢&#xff1f;答案是肯定的。微信小程序對旅游企業來說可是個寶&am…

Vue3+Vite中lodash-es安裝與使用指南

在 Vue 3 Vite 項目中安裝和使用 lodash-es 的詳細指南如下&#xff1a; 一、為什么選擇 lodash-es&#xff1f; ES 模塊支持&#xff1a;lodash-es 以原生 ES 模塊格式發布&#xff0c;支持現代構建工具的 Tree Shaking 按需加載&#xff1a;只引入需要的函數&#xff0c;顯…

法律模型選型

當然可以&#xff0c;以下是關于法律法規相關模型的技術選型調研建議&#xff0c;適合算法實習生從0入手&#xff0c;并能交付有深度的調研報告&#xff1a; 一、調研背景與目標 目標&#xff1a;調研用于處理法律法規類任務的大模型與技術方案&#xff0c;明確適合本團隊的模…

軟件工程專業的本科生應該具備哪些技能

軟件工程專業的本科生需要具備扎實的技術基礎、良好的開發流程認知和一定的軟技能&#xff0c;以適應軟件開發行業的需求。以下從技術技能、開發流程與工具、軟技能、實踐能力等維度整理核心技能清單&#xff0c;供參考&#xff1a; 一、核心技術技能 1. 編程語言 - 必學基礎語…

[Java 基礎]類,面向對象的藍圖

首先需要區分類和對象都是啥&#xff1f; 類&#xff1a;類是一個模板&#xff0c;它描述一類對象的行為和狀態&#xff0c;類這個概念更像是下定義&#xff0c;更像是模板&#xff08;橡皮泥膜具&#xff09;。 對象&#xff1a;對象&#xff08;不是女朋友&#xff09;是類…

selenium-自動更新谷歌瀏覽器驅動

1、簡介 selenium最初是一個自動化測試工具&#xff0c;而爬蟲中使用它主要是為了解決requests無法直接執行JavaScript代碼的問題&#xff0c;因為有些網頁數據是通過JavaScript動態加載的。selenium本質是通過驅動瀏覽器&#xff0c;完全模擬瀏覽器的操作&#xff0c;比如輸入…

java從azure中讀取用戶信息

以下是用 Java 從 Azure AD 獲取用戶信息的完整實現方案&#xff0c;使用 Spring Boot 框架和 Microsoft 身份驗證庫 (MSAL)&#xff1a; 1. 添加 Maven 依賴 <dependencies> <!-- Spring Boot Web --> <dependency> <groupId>org.…

C# 數據庫訪問與ORM框架全面指南:從ADO.NET到Entity Framework Core

在現代應用開發中&#xff0c;數據持久化是核心需求之一。作為.NET生態系統中的主力語言&#xff0c;C#提供了豐富多樣的數據庫訪問技術和工具。本文將全面探討C#中的數據庫訪問方式&#xff0c;重點介紹三種主流ORM&#xff08;對象關系映射&#xff09;框架&#xff1a;Entit…

day19 leetcode-hot100-37(二叉樹2)

104. 二叉樹的最大深度 - 力扣&#xff08;LeetCode&#xff09; 1.深度優先遍歷&#xff08;遞歸&#xff09;ps:不好理解&#xff0c;所以我一般不喜歡用遞歸 思路 典型算法&#xff0c;用遞歸求出高度&#xff0c;每次都是深度優先。 具體算法 /*** Definition for a bi…

【LLMs篇】13:LLaDA—大型語言擴散模型

欄目內容論文標題大型語言擴散模型 (Large Language Diffusion Models)核心思想提出LLaDA&#xff0c;一種基于擴散模型的LLM&#xff0c;通過前向掩碼和反向預測過程建模語言分布&#xff0c;挑戰自回歸模型&#xff08;ARM&#xff09;在LLM領域的主導地位&#xff0c;并展示…