《Python星球日記》第26天:Matplotlib 可視化

名人說:路漫漫其修遠兮,吾將上下而求索。—— 屈原《離騷》
創作者:Code_流蘇(CSDN)(一個喜歡古詩詞和編程的Coder😊)
訂閱專欄:《Python星球日記》

目錄

    • 一、Matplotlib 簡介
      • 1. 什么是 Matplotlib?為什么使用 Matplotlib?
      • 2. 安裝與導入
    • 二、基本繪圖
      • 1. 繪制折線圖:`plot()`
        • 繪制多條線
        • 自定義線條樣式
      • 2. 繪制柱狀圖:`bar()` 和 `barh()`
        • 垂直柱狀圖
        • 水平柱狀圖
        • 分組柱狀圖
      • 3. 繪制餅圖:`pie()`
    • 三、圖形美化
      • 1. 添加標題、標簽、圖例
        • 標題和標簽
        • 圖例
      • 2. 調整顏色、樣式、網格
        • 設置樣式
        • 設置顏色和透明度
        • 添加網格
      • 3. 調整坐標軸
      • 4. 子圖布局
    • 四、練習:可視化銷售數據趨勢
      • 1??準備數據
      • 2??繪制銷售趨勢圖表
      • 3??分析與總結
    • 五、總結與拓展
      • 1. 核心知識點回顧
      • 2. 進階技巧
      • 3. 學習資源推薦

👋 專欄介紹: Python星球日記專欄介紹(持續更新ing)
? 上一篇: Python星球日記 - 第22天:NumPy 基礎

歡迎來到Python星球🪐的第26天!

今天我們將學習Matplotlib,Python中最流行的數據可視化庫。通過本文,你將了解如何創建各種類型的圖表,以及如何美化它們,讓你的數據"說話"更有說服力。

一、Matplotlib 簡介

1. 什么是 Matplotlib?為什么使用 Matplotlib?

Matplotlib 是 Python 中最流行的繪圖庫,它提供了一個完整的 2D 繪圖環境,可以創建出具有出版質量的圖形。

John Hunter 于 2003 年創建,最初的目的是為了復現 MATLAB 的繪圖功能

在這里插入圖片描述

為什么要使用 Matplotlib?以下是幾個主要原因:

  • 功能豐富:支持線圖、散點圖、柱狀圖、餅圖、直方圖等多種圖表類型
  • 高度可定制:幾乎每個圖形元素都可以自定義
  • 廣泛集成:與 NumPy、Pandas 和其他科學計算庫緊密集成
  • 行業標準:在數據科學、機器學習和科學研究中被廣泛使用
  • 跨平臺:支持多種輸出格式,包括 PNG、PDF、SVG、EPS 等

Matplotlib 的架構主要分為兩種接口

  • pyplot 接口:提供類似 MATLAB 的命令式繪圖方式,適合簡單快速的繪圖
  • 面向對象接口:提供更精確的控制和更復雜的圖形組合,適合高度自定義的圖表
    在這里插入圖片描述

2. 安裝與導入

安裝 Matplotlib 非常簡單,可以使用 pip 或 conda:

# 使用 pip 安裝
pip install matplotlib# 使用 conda 安裝
conda install matplotlib

在代碼中導入 Matplotlib

# 標準導入方式
import matplotlib.pyplot as plt
import numpy as np  # 通常還需要導入 NumPy 進行數據處理

注意plt 是導入 matplotlib.pyplot 的常用別名,幾乎所有 Python 數據科學代碼都使用這個約定。

二、基本繪圖

Matplotlib 提供了多種基本圖表類型。下面我們將學習最常用的三種:折線圖、柱狀圖和餅圖。

在這里插入圖片描述

1. 繪制折線圖:plot()

折線圖是最基本的圖表類型,用于展示數據的變化趨勢。使用 plt.plot() 函數可以輕松創建:

import matplotlib.pyplot as plt
import numpy as npplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 準備數據
x = np.linspace(0, 10, 100)  # 從0到10創建100個等間距的點
y = np.sin(x)                # 計算每個點的正弦值# 繪制折線圖
plt.figure(figsize=(8, 4))   # 創建畫布,設置大小為 8x4 英寸
plt.plot(x, y)               # 繪制折線圖
plt.title('正弦函數')         # 添加標題
plt.xlabel('x')              # 添加 x 軸標簽
plt.ylabel('sin(x)')         # 添加 y 軸標簽
plt.grid(True)               # 添加網格線
plt.show()                   # 顯示圖形

輸出結果:
在這里插入圖片描述

繪制多條線

你可以在一個圖表上繪制多條線,只需多次調用 plot() 函數:

plt.figure(figsize=(10, 6))
plt.plot(x, np.sin(x), label='sin(x)')     # 繪制正弦函數
plt.plot(x, np.cos(x), label='cos(x)')     # 繪制余弦函數
plt.plot(x, np.tan(x), label='tan(x)')     # 繪制正切函數plt.title('三角函數')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()                               # 添加圖例
plt.grid(True)
plt.show()
自定義線條樣式

可以通過格式字符串或關鍵字參數自定義線條的樣式:

plt.figure(figsize=(10, 6))
plt.plot(x, np.sin(x), 'r-', linewidth=2)         # 紅色實線
plt.plot(x, np.cos(x), 'b--', linewidth=2)        # 藍色虛線
plt.plot(x, np.sin(x) + np.cos(x), 'g-.', linewidth=2)  # 綠色點劃線
plt.show()

樣式字符串的構成:

  • 顏色:‘r’ (紅)、‘g’ (綠)、‘b’ (藍)、‘c’ (青)、‘m’ (洋紅)、‘y’ (黃)、‘k’ (黑)、‘w’ (白)
  • 線型:‘-’ (實線)、‘–’ (虛線)、‘-.’ (點劃線)、‘:’ (點線)
  • 標記:‘o’ (圓點)、‘s’ (方塊)、‘^’ (三角形)、‘*’ (星號)等

2. 繪制柱狀圖:bar()barh()

柱狀圖用于比較不同類別的數據大小,分為垂直柱狀圖(bar())和水平柱狀圖(barh())。

垂直柱狀圖
import matplotlib.pyplot as plt
import numpy as npplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 準備數據
categories = ['A', 'B', 'C', 'D', 'E']
values = [25, 40, 30, 55, 15]# 創建垂直柱狀圖
plt.figure(figsize=(8, 6))
plt.bar(categories, values, color='skyblue', edgecolor='navy')
plt.title('各類別數據比較')
plt.xlabel('類別')
plt.ylabel('數值')
plt.show()

在這里插入圖片描述

水平柱狀圖
plt.figure(figsize=(8, 6))
plt.barh(categories, values, color='skyblue', edgecolor='navy')
plt.title('各類別數據比較')
plt.xlabel('數值')
plt.ylabel('類別')
plt.show()
分組柱狀圖

分組柱狀圖用于比較多個數據集:

# 準備數據
categories = ['A', 'B', 'C', 'D', 'E']
values1 = [25, 40, 30, 55, 15]
values2 = [15, 30, 40, 20, 35]# 設置柱狀圖位置
x = np.arange(len(categories))  # 類別標簽位置
width = 0.35  # 柱子寬度# 創建分組柱狀圖
plt.figure(figsize=(10, 6))
plt.bar(x - width/2, values1, width, label='組1', color='skyblue')
plt.bar(x + width/2, values2, width, label='組2', color='lightgreen')# 添加標簽和圖例
plt.title('兩組數據比較')
plt.xlabel('類別')
plt.ylabel('數值')
plt.xticks(x, categories)  # 替換 x 軸刻度標簽
plt.legend()
plt.grid(True, axis='y')  # 只顯示水平網格線
plt.show()

3. 繪制餅圖:pie()

餅圖用于顯示數據的比例關系,特別適合表示占比或分布情況。

import matplotlib.pyplot as plt
import numpy as npplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 準備數據
labels = ['A', 'B', 'C', 'D', 'E']
sizes = [15, 30, 25, 10, 20]  # 各部分大小
explode = (0, 0.1, 0, 0, 0)   # 突出顯示第二部分
colors = ['gold', 'lightcoral', 'lightskyblue', 'lightgreen', 'lightpink']  # 各部分顏色# 創建餅圖
plt.figure(figsize=(8, 8))
plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%',  # 顯示百分比格式shadow=True,        # 添加陰影startangle=90)      # 起始角度
plt.axis('equal')           # 確保餅圖是圓形的
plt.title('數據占比分布')
plt.show()

輸出結果:

在這里插入圖片描述

餅圖的主要參數:

  • sizes:各部分的大小
  • explode:特定部分的突出顯示
  • labels:各部分的標簽
  • colors:各部分的顏色
  • autopct:顯示百分比的格式
  • shadow:是否添加陰影效果
  • startangle:起始角度

三、圖形美化

默認的 Matplotlib 圖形樣式較為簡單,通過一些美化設置可以讓圖表更加專業和美觀。

1. 添加標題、標簽、圖例

標題和標簽
plt.figure(figsize=(10, 6))
plt.plot(x, np.sin(x))# 添加標題和標簽
plt.title('正弦函數圖', fontsize=16)          # 添加標題,設置字體大小
plt.xlabel('X 軸', fontsize=12)               # 添加 x 軸標簽
plt.ylabel('Y 軸', fontsize=12)               # 添加 y 軸標簽# 添加文本注釋
plt.text(5, 0.5, 'sin(x) 的最大值是 1', fontsize=12)plt.show()
圖例

圖例幫助識別圖表中的不同數據系列:

plt.figure(figsize=(10, 6))# 繪制多條線并設置標簽
plt.plot(x, np.sin(x), 'r-', label='sin(x)')
plt.plot(x, np.cos(x), 'b--', label='cos(x)')
plt.plot(x, np.sin(x) * np.cos(x), 'g-.', label='sin(x)·cos(x)')# 添加圖例
plt.legend(loc='best',          # 自動選擇最佳位置fontsize=12,         # 設置字體大小frameon=True,        # 顯示邊框shadow=True)         # 添加陰影效果plt.show()

圖例位置選項:

  • 'best':自動選擇最佳位置
  • 'upper right', 'upper left', 'lower right', 'lower left':四個角
  • 'center', 'center left', 'center right', 'lower center', 'upper center':中心和邊緣

2. 調整顏色、樣式、網格

設置樣式

Matplotlib 提供了多種預設樣式可供選擇:

# 查看可用樣式
print(plt.style.available)# 設置樣式
plt.style.use('seaborn-v0_8-darkgrid')  # 使用 Seaborn 暗網格樣式plt.figure(figsize=(10, 6))
plt.plot(x, np.sin(x))
plt.title('使用 Seaborn 樣式的圖表')
plt.show()

常用樣式包括:‘ggplot’, ‘seaborn’, ‘bmh’, ‘dark_background’, ‘fivethirtyeight’ 等。

設置顏色和透明度
plt.figure(figsize=(10, 6))# 設置顏色和透明度
plt.plot(x, np.sin(x), color='#FF5733', alpha=0.8, linewidth=2)
plt.fill_between(x, np.sin(x), alpha=0.3, color='#FF5733')  # 添加填充區域plt.title('帶填充區域的正弦函數')
plt.show()

顏色可以通過名稱(如 ‘red’)、十六進制代碼(如 ‘#FF5733’)或 RGB 元組(如 (1, 0, 0))指定。

添加網格
plt.figure(figsize=(10, 6))
plt.plot(x, np.sin(x))# 添加網格
plt.grid(True,               # 顯示網格linestyle='--',     # 虛線樣式alpha=0.7,          # 透明度color='gray')       # 顏色plt.show()

3. 調整坐標軸

plt.figure(figsize=(10, 6))
plt.plot(x, np.sin(x))# 設置坐標軸范圍
plt.xlim(0, 10)              # 設置 x 軸范圍
plt.ylim(-1.5, 1.5)          # 設置 y 軸范圍# 設置刻度
plt.xticks(np.arange(0, 11, 2))          # 設置 x 軸刻度
plt.yticks([-1, -0.5, 0, 0.5, 1])        # 設置 y 軸刻度plt.show()

4. 子圖布局

使用 subplot 可以在一個圖形中創建多個子圖:

plt.figure(figsize=(12, 8))# 創建 2x2 布局的子圖
plt.subplot(2, 2, 1)  # 第一行第一列
plt.plot(x, np.sin(x))
plt.title('sin(x)')plt.subplot(2, 2, 2)  # 第一行第二列
plt.plot(x, np.cos(x), 'g-')
plt.title('cos(x)')plt.subplot(2, 2, 3)  # 第二行第一列
plt.plot(x, np.sin(x) * np.cos(x), 'r-')
plt.title('sin(x)·cos(x)')plt.subplot(2, 2, 4)  # 第二行第二列
plt.plot(x, np.sin(x) + np.cos(x), 'm-')
plt.title('sin(x)+cos(x)')plt.tight_layout()  # 自動調整子圖參數,使之填充整個圖像區域
plt.show()

四、練習:可視化銷售數據趨勢

現在,讓我們應用所學知識,創建一個銷售數據可視化案例。

1??準備數據

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from matplotlib.ticker import StrMethodFormatter# 設置中文顯示
plt.rcParams['font.sans-serif'] = ['SimHei']  
plt.rcParams['axes.unicode_minus'] = False# 生成銷售數據
np.random.seed(42)  # 設置隨機種子,確保結果可重現# 創建月份數據
months = pd.date_range(start='2023-01-01', periods=12, freq='ME')
month_labels = [m.strftime('%Y-%m') for m in months]# 創建三種產品的銷售數據
product_A = np.random.randint(100, 200, size=12) * (1 + np.sin(np.linspace(0, 2*np.pi, 12)) * 0.2)
product_B = np.random.randint(150, 250, size=12) * (1 + np.cos(np.linspace(0, 2*np.pi, 12)) * 0.1)
product_C = np.random.randint(80, 180, size=12) * (1 + 0.05 * np.arange(12))  # 線性增長趨勢# 創建 DataFrame
sales_data = pd.DataFrame({'月份': month_labels,'產品A': product_A,'產品B': product_B,'產品C': product_C
})# 計算總銷售額
sales_data['總銷售額'] = sales_data['產品A'] + sales_data['產品B'] + sales_data['產品C']print(sales_data.head())

輸出結果:

在這里插入圖片描述

2??繪制銷售趨勢圖表

# 設置繪圖樣式
plt.style.use('seaborn-v0_8-whitegrid')# 創建一個大畫布,包含多個子圖
plt.figure(figsize=(15, 10))# 1. 繪制各產品月度銷售趨勢折線圖
plt.subplot(2, 2, 1)
plt.plot(sales_data['月份'], sales_data['產品A'], 'o-', label='產品A', linewidth=2)
plt.plot(sales_data['月份'], sales_data['產品B'], 's-', label='產品B', linewidth=2)
plt.plot(sales_data['月份'], sales_data['產品C'], '^-', label='產品C', linewidth=2)plt.title('各產品月度銷售趨勢', fontsize=14)
plt.xlabel('月份', fontsize=12)
plt.ylabel('銷售額', fontsize=12)
plt.xticks(rotation=45)  # 旋轉 x 軸標簽,防止重疊
plt.legend()
plt.grid(True)# 2. 繪制總銷售額柱狀圖
plt.subplot(2, 2, 2)
bars = plt.bar(sales_data['月份'], sales_data['總銷售額'], color='skyblue', edgecolor='navy')# 為柱狀圖添加數值標簽
for bar in bars:height = bar.get_height()plt.text(bar.get_x() + bar.get_width()/2., height + 5,f'{int(height)}',ha='center', va='bottom', fontsize=9)plt.title('月度總銷售額', fontsize=14)
plt.xlabel('月份', fontsize=12)
plt.ylabel('銷售額', fontsize=12)
plt.xticks(rotation=45)
plt.gca().yaxis.set_major_formatter(StrMethodFormatter('{x:,.0f}'))  # 設置 y 軸格式# 3. 繪制每月各產品銷售占比(堆疊柱狀圖)
plt.subplot(2, 2, 3)
bottom = np.zeros(12)  # 初始底部位置for product, color in zip(['產品A', '產品B', '產品C'], ['#5DA5DA', '#FAA43A', '#60BD68']):plt.bar(sales_data['月份'], sales_data[product], bottom=bottom, label=product, color=color, alpha=0.8)bottom += sales_data[product]  # 更新底部位置plt.title('月度產品銷售比例', fontsize=14)
plt.xlabel('月份', fontsize=12)
plt.ylabel('銷售額', fontsize=12)
plt.xticks(rotation=45)
plt.legend()# 4. 繪制三種產品總銷售額占比(餅圖)
plt.subplot(2, 2, 4)
product_totals = [sales_data['產品A'].sum(), sales_data['產品B'].sum(), sales_data['產品C'].sum()]
labels = ['產品A', '產品B', '產品C']
colors = ['#5DA5DA', '#FAA43A', '#60BD68']
explode = (0.05, 0, 0)  # 突出顯示產品Aplt.pie(product_totals, labels=labels, colors=colors, autopct='%1.1f%%', startangle=90, explode=explode, shadow=True)
plt.axis('equal')  # 保證餅圖是圓的
plt.title('各產品銷售總額占比', fontsize=14)# 調整布局
plt.tight_layout()
plt.savefig('sales_analysis.png', dpi=300, bbox_inches='tight')  # 保存圖表
plt.show()

輸出結果:

在這里插入圖片描述

3??分析與總結

通過上面的可視化圖表,我們可以清晰地看到:

  1. 銷售趨勢:折線圖展示了各產品每月的銷售變化趨勢,可以觀察到季節性波動和長期趨勢。
  2. 銷售規模:柱狀圖直觀地展示了每月的總銷售額,便于比較不同月份的銷售表現。
  3. 產品結構:堆疊柱狀圖展示了每月各產品的銷售構成,餅圖則展示了全年各產品的銷售比例。

這種綜合性的可視化方式,可以幫助我們從多個角度分析銷售數據,發現潛在的商業機會和挑戰。

五、總結與拓展

1. 核心知識點回顧

在本文中,我們學習了:

- `Matplotlib 的基本概念`:包括其架構、用途和導入方式
- `基本圖表類型`:如何創建折線圖、柱狀圖和餅圖
- `圖形美化技巧`:如何添加標題、標簽、圖例,以及調整顏色、樣式和網格
- `實戰應用`:如何將多種圖表類型組合使用,進行綜合性的數據可視化

2. 進階技巧

如果你想進一步提升 Matplotlib 可視化技能,可以探索以下內容:

  • 更多圖表類型:如散點圖、直方圖、箱線圖、熱力圖等
  • 3D 繪圖:使用 mplot3d 工具包創建三維圖表
  • 交互式圖表:結合 ipywidgets 創建交互式可視化
  • 動畫:使用 animation 模塊創建動態圖表
  • 與 Pandas 結合:使用 Pandas 的 plot() 方法,簡化數據可視化流程

3. 學習資源推薦

  • 官方文檔:Matplotlib 官方文檔
  • 圖例集:Matplotlib 圖例集
  • 在線教程:Datacamp、Coursera 上的 Python 數據可視化課程
  • 書籍:《Python for Data Analysis》和《Python Data Science Handbook》

在下一篇文章中,我們將探索另一個強大的可視化庫 Seaborn,它基于 Matplotlib 構建,提供了更高級的統計圖表和更優雅的默認樣式。

關鍵詞:Python, Matplotlib, 數據可視化, 繪圖, 折線圖, 柱狀圖, 餅圖, 圖表美化, CSDN Python教程

練習題

  1. 嘗試結合 Pandas 和 Matplotlib,可視化一個包含多個變量的真實數據集(如氣溫、股票價格等)。
  2. 創建一個包含 4 個子圖的畫布,分別用不同類型的圖表展示同一數據集的不同特征。
  3. 探索 Matplotlib 的顏色映射(colormap)功能,嘗試使用不同的顏色方案來增強可視化效果。

希望這篇文章能幫助你掌握 Matplotlib 的基礎知識,開始創建引人注目的數據可視化作品,如有問題,歡迎在評論區留言交流!

創作者:Code_流蘇(CSDN)(一個喜歡古詩詞和編程的Coder😊)
如果你對今天的內容有任何問題,或者想分享你的學習心得,歡迎在評論區留言討論!

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

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

相關文章

第1章 對大型語言模型的介紹

人類正處在一個關鍵轉折點。自2012年起,基于深度神經網絡的人工智能系統研發進入快速通道,將這一技術推向了新高度:至2019年底,首個能夠撰寫與人類文章真假難辨的軟件系統問世,這個名為GPT-2(生成型預訓練變…

dcsdsds

我將為您在頁面頂部添加歡迎內容&#xff0c;同時保持整體風格的一致性。以下是修改后的代碼&#xff0c;主要修改了模板部分和對應的樣式&#xff1a; vue 復制 <template><div class"main-wrapper"><!-- 新增歡迎部分 --><div class"…

學習MySQL的第八天

海到無邊天作岸 山登絕頂我為峰 一、數據庫的創建、修改與刪除 1.1 引言 在經過前面七天對于MySQL基本知識的學習之后&#xff0c;現在我們從基本的語句命令開始進入綜合性的語句的編寫來實現特定的需求&#xff0c;從這里開始需要我們有一個宏觀的思想&…

Linux-內核驅動-中斷-key

DEV_NAME&#xff1a;設備名稱。 wg&#xff1a;等待隊列頭&#xff0c;用于同步。 condition&#xff1a;條件變量&#xff0c;用于等待和喚醒。 中斷處理函數 irq_handler&#xff1a;處理中斷請求&#xff0c;設置條件變量并喚醒等待隊列中的進程。 文件操作函數 open…

asm匯編源代碼之按鍵處理相關函數

提供5個子程序: 1. 發送按鍵 sendkey 2. 檢測是否有按鍵 testkey 3. 讀取按鍵 getkey 4. 判斷鍵盤緩沖區是否為空 bufempty 5. 判斷鍵盤緩沖區是否已滿 buffull 具體功能及參數描述如下 sendkey proc  far ; axcharcode testkey proc  far ; out: ;   zf1 buff empt…

Java Collections 類中常用方法使用

一、Collections類 java.util.Collections 類是 Java 集合框架中的一個工具類&#xff0c;提供了一系列靜態方法來操作和處理各種類型的集合。這些方法簡化了對集合進行排序、查找、同步控制、創建只讀集合等常見操作的過程。 二、常用方法 方法類別??方法簽名??功能??需…

Linux網絡編程——數據鏈路層詳解,以太網、MAC地址、MTU、ARP、DNS、NAT、代理服務器......

目錄 一、前言 二、以太網 二、以太網幀格式 三、 MAC地址 四、MTU 1、數據鏈路層的數據分片 2、MTU對UDP協議的影響 3、MTU對TCP協議的影響 五、ARP協議 1、什么是ARP 2、ARP的作用 3、ARP協議的工作流程 4、ARP緩存表 5、ARP請求報文 6、中間人 六、DNS&…

輕量級開源文件共享系統PicoShare本地部署并實現公網環境文件共享

&#xfeff;## 前言 本篇文章介紹&#xff0c;如何在 Linux 系統本地部署輕量級文件共享系統 PicoShare&#xff0c;并結合 Cpolar 內網穿透實現公網環境遠程傳輸文件至本地局域網內文件共享系統。 PicoShare 是一個由 Go 開發的輕量級開源共享文件系統&#xff0c;它沒有文…

基于查表法的 CRC8 / CRC16 / CRC32校驗解析

在嵌入式開發中&#xff0c;CRC&#xff08;Cyclic Redundancy Check&#xff09;循環冗余校驗算法廣泛應用于通信數據校驗、Flash 數據完整性檢測、Bootloader 升級驗證等場景。本文將深入剖析一套完整的 CRC8、CRC16 和 CRC32 實現&#xff0c;并通過查表法&#xff08;Table…

二戰藍橋杯所感

&#x1f334; 前言 今天是2025年4月12日&#xff0c;第十六屆藍橋杯結束&#xff0c;作為二戰的老手&#xff0c;心中還是頗有不甘的。一方面&#xff0c;今年的題目比去年簡單很多&#xff0c;另一方面我感覺并沒有把能拿的分都拿到手&#xff0c;這是我覺得最遺憾的地方。不…

基于ueditor編輯器的功能開發之給編輯器圖片增加水印功能

用戶需求&#xff0c;雙擊編輯器中的圖片的時候&#xff0c;出現彈框&#xff0c;用戶可以選擇水印縮放倍數、距離以及水印所放置的方位&#xff08;當然有很多水印插件&#xff0c;位置大小透明度用戶都能夠自定義&#xff0c;但是用戶需求如此&#xff0c;就自己寫了&#xf…

算法題(123):回文日期

審題&#xff1a; 本題需要我們判斷以八位數確定的日期范圍中是否存在回文數 思路&#xff1a; 方法一&#xff1a;枚舉法 1.確定枚舉對象&#xff1a; 對象1&#xff1a;八位數日期&#xff0c;所需枚舉次數&#xff1a;10^8 對象2&#xff1a;年&#xff0c;所需枚舉次數&…

數據庫表的操作

一、數據庫的搭建 如上篇文章 二、基礎了解 show命令支持模糊匹配 show databases、show tables、 show databases like “” “%”、“_”通配符字符串 三、MySQL數據庫表的操作 關系型數據庫都是遵循SQL語法進行數據查詢和管理的 3.1 SQL介紹 3.1.1 SQL的功能 結構化查詢語…

在 Lua 中實現 JSON 與 Table 的相互轉換的詳細使用方法

在 Lua 中實現 JSON 與 Table 的相互轉換是常見的數據序列化需求。以下是詳細的實現方案、性能優化技巧及進階用法&#xff1a; 在 Lua 中實現 JSON 與 Table 的相互轉換的詳細使用方法-目錄 一、常用 JSON 庫對比二、基礎轉換實現1. 使用 lua-cjson&#xff08;高性能 C 庫&am…

dbVisitor 規則怎么用?

在數據庫操作中&#xff0c;dbVisitor 是一個功能強大的工具&#xff0c;其規則的使用大大簡化了 SQL 語句的編寫過程。下面將詳細介紹 dbVisitor 規則的使用方法并附上具體例子。 一、規則的基本調用 在 dbVisitor 中&#xff0c;SQL 語句可以通過 {...} 的形式來調用規則&a…

Kingbase 常用運維命令總結

一、數據庫連接與基礎操作 連接指定服務器數據庫 ksql -h 主機IP -p 端口號 -U 用戶名 -d 數據庫名 -W # 示例&#xff1a;連接 IP 為 192.168.1.100 的數據庫 ksql -h 192.168.1.100 -p 54321 -U system -d test -W 斷開數據庫連接 \q 或 exit 查看數據庫列表及詳細信息…

【數據結構與算法】LRU Cache 算法實現

文章目錄 Ⅰ. 什么是 LRU CacheⅡ. LRU Cache 的實現[146. LRU 緩存](https://leetcode.cn/problems/lru-cache/) Ⅰ. 什么是 LRU Cache ? LRU&#xff08; Least Recently Used&#xff09; 是一種淘汰策略的縮寫&#xff0c;意思是 最近最少使用&#xff0c;它是一種 Cache…

網頁布局匯總

1. 盒模型 容器大小 內容大小 內邊距(padding) 邊框大小 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">&l…

打造海外流量矩陣,TikTok云控工具讓獲客更簡單!

跨境獲客&#xff0c;始終是無數企業主心中的一道難題。今天&#xff0c;給大家帶來一款強大實用的工具——TikTok矩陣云控系統&#xff0c;幫你輕松突破流量瓶頸&#xff0c;實現高效跨境獲客&#xff01; 跨國遠程操控——蘋果手機矩陣云控系統 在正式開始之前&#xff0c;…

MyBatis-plus 快速入門

提示&#xff1a;MyBatis-Plus&#xff08;MP&#xff09;是一個 MyBatis的增強版 文章目錄 前言使用MybatisPlus的基本步驟1、引入MybatisPlus依賴代替Mybatis依賴2、定義Mapper接口并繼承BaseMapper他是怎么知道哪張表&#xff0c;哪些字段呢 3、實體類注解4、根據需要添加配…