《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.mzph.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、根据需要添加配…