当前位置: 首页 > news >正文

【Python】使用matplotlib绘制图形(曲线图、条形图、饼图等)

文章目录

    • 一、什么是matplotlib
    • 二、matplotlib 支持的图形
    • 三、如何使用matplotlib
      • 1. 安装matplotlib
      • 2. 导入matplotlib.pyplot
      • 3. 准备数据
      • 4. 绘制图形
      • 5. 定制图形
      • 6. 显示或保存图形
      • 7. (可选)使用subplots创建多个子图
      • 注意事项:
    • 四、常见图形使用示例
      • 1. 线图 (Line Plot)
      • 2. 散点图 (Scatter Plot)
      • 3. 条形图 (Bar Chart)
      • 4. 直方图 (Histogram)
      • 5. 饼图 (Pie Chart)
      • 6. 直方图 2d
      • 7. 面积图(Area Plot)
      • 8. 热力图(Heatmap)
      • 9. 三维图形(3D Plot)
      • 10. 堆叠图(Stacked Plot)
    • 五、常用函数
    • 参考

一、什么是matplotlib

matplotlib 是一个用于创建静态、动态和交互式可视化图形的 Python 库。它被广泛用于数据可视化,并且可以与多种操作系统和图形后端一起工作。matplotlib 提供了一套与 MATLAB 相似的命令 API,适合交互式制图,也可以作为绘图控件嵌入到其他应用程序中。

matplotlib 的主要组成部分是 pyplot,它是一个类似于 MATLAB 的绘图框架。pyplot 提供了一个 MATLAB 式的接口,可以隐式地创建图形和轴,使得绘图变得简单。

以下是一个简单的 matplotlib 使用示例,用于绘制一条简单的折线图:

import matplotlib.pyplot as plt
import numpy as np# 创建数据
x = np.linspace(0, 10, 100)
y = np.sin(x)# 创建图形
plt.figure()# 绘制折线图
plt.plot(x, y, '-')# 设置图表标题和坐标轴标签
plt.title("Simple Plot of Sine Function")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")# 显示图形
plt.show()

在这个例子中,我们首先导入了 matplotlib.pyplotnumpy。然后,我们创建了一组数据 xy,其中 yx 的正弦函数。接下来,我们使用 plt.figure() 创建一个新的图形,并使用 plt.plot() 绘制折线图。最后,我们设置了图表的标题和坐标轴标签,并使用 plt.show() 显示图形。

这只是 matplotlib 的一个基本示例。该库提供了许多其他功能,包括散点图、条形图、饼图、3D 图形、等高线图等。此外,matplotlib 还支持自定义颜色、线型、标记等,以及添加图例、网格等。

二、matplotlib 支持的图形

matplotlib 是一个非常灵活的绘图库,支持绘制多种类型的图形。以下是一些 matplotlib 支持的主要图形类型:

  1. 线图 (Line Plots): 最基本的图形类型,用于显示数据点的连接。

  2. 散点图 (Scatter Plots): 用于显示两个变量之间的关系,通过点的分布来表示。

  3. 条形图 (Bar Charts): 适用于展示分类数据的相对大小。

  4. 直方图 (Histograms): 展示数据分布的统计图,通常用于表示连续变量的分布情况。

  5. 饼图 (Pie Charts): 用于表示整体中各部分的比例关系。

  6. 箱图 (Box Plots): 用于展示数据的分布情况,包括中位数、四分位数、最大值、最小值以及可能存在的异常值。

  7. 面积图 (Area Charts): 类似于线图,但是下方区域会被填充颜色,用于表示数据随时间的变化量。

  8. 等高线图 (Contour Plots): 通常用于表示三维数据在二维平面上的投影,通过等高线展示数据点的密集程度。

  9. 热力图 (Heatmap): 通过颜色的深浅来表示数据矩阵中各个值的大小。

  10. 极坐标图 (Polar Plots): 在极坐标系中展示数据点,常用于表示与角度相关的信息。

  11. 三维图形 (3D Plots): 用于在三维空间中展示数据点的分布情况,可以创建三维散点图、三维曲面图等。

  12. 堆叠图 (Stacked Plots): 适用于展示多个分类数据系列的累积效果,如堆叠条形图或堆叠面积图。

  13. 误差条图 (Error Bar Charts): 用于表示数据点的不确定性或变化范围。

  14. 矢量场图 (Vector Fields): 用于表示矢量数据,如风向或流体的流动方向。

  15. 流线图 (Stream Plots): 类似于矢量场图,但更侧重于表示流体的流动路径。

matplotlib 还支持许多其他高级和定制化的图形,包括但不限于小提琴图 (violin plots)、树状图 (dendrograms)、雷达图 (radar charts) 等。由于其强大的定制性和灵活性,matplotlib 已经成为数据可视化的重要工具之一。

三、如何使用matplotlib

使用matplotlib进行数据可视化是一个相对直接的过程。以下是一个清晰、分点的指南,帮助您开始使用matplotlib

1. 安装matplotlib

首先,确保您已经安装了matplotlib库。如果还没有安装,可以使用pip进行安装:

pip install matplotlib

2. 导入matplotlib.pyplot

在Python脚本或Jupyter Notebook中,您需要导入matplotlib.pyplot模块,通常我们使用别名plt来引用它:

import matplotlib.pyplot as plt

3. 准备数据

准备您要可视化的数据。这可以是实验数据、统计数据或任何您想要展示的信息。

4. 绘制图形

使用plt中的函数来绘制您想要的图形。以下是一些常见图形的绘制方法:

  • 线图

    plt.plot(x, y, label='Line 1')  # x和y是数据点
    
  • 散点图

    plt.scatter(x, y)  # x和y是数据点
    
  • 条形图

    plt.bar(x, y)  # x是分类变量,y是对应值
    
  • 直方图

    plt.hist(data, bins=10)  # data是要统计的数据,bins是分组数量
    
  • 饼图

    plt.pie(sizes, labels=labels)  # sizes是各部分大小,labels是标签
    

5. 定制图形

您可以添加标题、轴标签、图例以及调整轴的范围等:

plt.title('My Plot')        # 添加标题
plt.xlabel('X Axis Label')  # 添加X轴标签
plt.ylabel('Y Axis Label')  # 添加Y轴标签
plt.legend()                # 添加图例
plt.xlim(0, 10)             # 设置X轴范围
plt.ylim(0, 100)            # 设置Y轴范围

6. 显示或保存图形

最后,使用plt.show()来显示图形,或者使用plt.savefig()来保存图形到文件:

plt.show()  # 显示图形
# 或者
plt.savefig('my_plot.png')  # 保存图形为PNG文件

7. (可选)使用subplots创建多个子图

如果您想在同一个窗口中显示多个图形,可以使用plt.subplots()

fig, axs = plt.subplots(nrows=2, ncols=2)  # 创建一个2x2的子图网格
# 然后可以在每个子图上进行绘制,例如:
axs[0, 0].plot(x1, y1)  # 在第一个子图上绘图
axs[0, 1].scatter(x2, y2)  # 在第二个子图上绘图
# ...以此类推

注意事项:

  • 确保您的数据格式正确,并且与所选的图形类型兼容。
  • matplotlib具有高度的可定制性,您可以通过查阅官方文档来了解更多高级功能和定制选项。
  • 在绘制复杂图形时,考虑使用面向对象的方式来操作图形和轴对象,这可以提供更精细的控制。

四、常见图形使用示例

下面我会通过具体的代码示例来介绍matplotlib库中常见图形的绘制方法。

1. 线图 (Line Plot)

线图通常用于展示数据随时间的变化趋势。

import matplotlib.pyplot as plt
import numpy as np# 创建数据
x = np.linspace(0, 10, 100)
y = np.sin(x)# 绘制线图
plt.plot(x, y)
plt.title('Line Plot')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.grid(True)
plt.show()

在这里插入图片描述

2. 散点图 (Scatter Plot)

散点图用于展示两个变量之间的关系。

# 创建数据
x = np.random.rand(50)
y = np.random.rand(50)# 绘制散点图
plt.scatter(x, y)
plt.title('Scatter Plot')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.grid(True)
plt.show()

在这里插入图片描述

3. 条形图 (Bar Chart)

条形图适用于展示分类数据的相对大小。

# 创建数据
categories = ['Category1', 'Category2', 'Category3', 'Category4']
values = [23, 45, 56, 12]
# 设置字体为支持中文的字体,比如'SimHei'(黑体),确保你的系统中安装了该字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用于正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号# 绘制条形图
plt.bar(categories, values, label='测试图例')
plt.title('Bar Chart')
plt.xlabel('Categories')
plt.ylabel('Values')
plt.legend()
plt.show()

在这里插入图片描述

4. 直方图 (Histogram)

直方图用于展示数据分布的统计图。

# 创建数据(正态分布的随机样本)
data = np.random.rand(100)
print(data)data = np.sort(data)
print(data)
# 绘制直方图
plt.hist(data, bins=20, edgecolor='black', color='skyblue', alpha=0.7)# 定制图形
plt.title('Histogram of Data Distribution')
plt.xlabel('Value Range')
plt.ylabel('Frequency')
plt.grid(True)# 显示图形
plt.show()

在这里插入图片描述

5. 饼图 (Pie Chart)

饼图用于表示整体中各部分的比例关系。

# 创建数据
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]# 绘制饼图
plt.pie(sizes, labels=labels)
plt.title('Pie Chart')
plt.show()

在这里插入图片描述

6. 直方图 2d

直方图用于展示数据分布的统计图。

# 创建数据
x = np.array([1, 2, 3, 4, 2, 2, 2, 1])
y = np.array([1, 2, 3, 4, 1, 2, 3, 4])# 绘制直方图
plt.hist2d(x, y, bins=[20, 20], cmap=plt.cm.jet)
plt.title('Histogram')
plt.xlabel('Value')
plt.ylabel('Frequency')
# 添加带有标签的颜色条
plt.colorbar(label='Counts')
plt.grid(True)
plt.show()

在这里插入图片描述

7. 面积图(Area Plot)

面积图是一种展示数据随时间变化趋势的图形,通常用于显示时间序列数据。

import matplotlib.pyplot as plt  
import numpy as np  # 模拟数据  
x = np.arange(1, 6)  
y1 = np.random.randint(1, 5, 5)  
y2 = np.random.randint(1, 5, 5)  # 绘制面积图  
# 绘制 y1 到 0 之间的区域
plt.fill_between(x, y1, color='blue', alpha=0.5, label='Area 1')  
# 绘制 y1 到 y2 之间的区域
plt.fill_between(x, y1, y2, color='red', alpha=0.5, label='Area 2')  plt.legend()  
plt.show()

在这里插入图片描述

8. 热力图(Heatmap)

热力图通常用于显示数据矩阵中各个元素值的大小,通过颜色来表示数值。

示例1

import matplotlib.pyplot as plt  
import numpy as np  
import seaborn as sns  # 创建一个数据矩阵  
data = np.random.rand(10, 12)  # 绘制热力图  
sns.heatmap(data, cmap='coolwarm')  
plt.show()

在这里插入图片描述
示例2

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt# 创建一个假设的数据集
data = {'Product': ['A', 'B', 'C', 'D', 'E'],'January': np.random.randint(10, 100, 5),'February': np.random.randint(10, 100, 5),'March': np.random.randint(10, 100, 5),'April': np.random.randint(10, 100, 5),'May': np.random.randint(10, 100, 5),'June': np.random.randint(10, 100, 5)
}# 将数据转换为Pandas DataFrame
df = pd.DataFrame(data)
df = df.set_index('Product')# 绘制热力图
plt.figure(figsize=(10, 8))
sns.heatmap(df, annot=True, cmap='coolwarm', fmt='d', linewidth=0.5)# 设置图表标题和坐标轴标签
plt.title('Monthly Sales Heatmap')
plt.xlabel('Month')
plt.ylabel('Product')# 显示图表
plt.show()

在这里插入图片描述

9. 三维图形(3D Plot)

Matplotlib也支持三维图形的绘制,例如三维散点图、三维曲面图等。

import matplotlib.pyplot as plt
import numpy as np# 创建3D坐标轴
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')# 模拟三维数据点
x = np.random.standard_normal(100)
y = np.random.standard_normal(100)
z = np.random.standard_normal(100)# 绘制三维散点图
ax.scatter(x, y, z, c='b', marker='o')plt.show()

在这里插入图片描述

10. 堆叠图(Stacked Plot)

堆叠图通常用于展示不同类别数据随某个变量的累积变化。

import matplotlib.pyplot as plt
import numpy as np# 模拟数据
N = 5
menMeans = (20, 35, 30, 35, 27)
womenMeans = (25, 32, 34, 20, 25)
ind = np.arange(N)  # the x locations for the groups
width = 0.35  # the width of the bars: can also be len(x) sequence# 绘制男性数据堆叠图
p1 = plt.bar(ind, menMeans, width, label='Men')# 绘制女性数据堆叠图,注意这里的bottom参数,它使得女性数据的柱状图从男性数据的顶部开始绘制
p2 = plt.bar(ind, womenMeans, width, label='Women', bottom=menMeans)plt.ylabel('Scores')
plt.title('Scores by group and gender')
# 设置X轴刻度
plt.xticks(ind, ('G1', 'G2', 'G3', 'G4', 'G5'))
# 设置y轴刻度
plt.yticks(np.arange(0, 81, 10))
# 显示图例
plt.legend()
plt.show()

在这里插入图片描述

这些代码示例展示了如何使用matplotlib绘制常见的图形。您可以根据需要调整数据和图形属性来定制您的图表。每个图形类型都有许多可配置的选项,例如颜色、线型、标记样式等,您可以通过查阅matplotlib的官方文档来了解更多细节。

五、常用函数

matplotlib库中,有许多常用的函数用于数据可视化。以下是一些matplotlib.pyplot模块中常用的函数:

函数描述使用示例
plot()绘制线图plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
scatter()绘制散点图plt.scatter([1, 2, 3, 4], [1, 4, 9, 16])
bar()绘制条形图plt.bar([1, 2, 3, 4], [10, 15, 7, 10])
hist()绘制直方图data = np.random.randn(1000); plt.hist(data, bins=30)
pie()绘制饼图plt.pie([10, 20, 30, 40], labels=['A', 'B', 'C', 'D'])
boxplot()绘制箱线图data = np.random.normal(100, 20, 200); plt.boxplot(data)
imshow()显示图像image = np.random.rand(10, 10); plt.imshow(image)
xlabel()设置X轴标签plt.xlabel('Time')
ylabel()设置Y轴标签plt.ylabel('Amplitude')
title()设置图形标题plt.title('Sample Plot')
xlim()设置X轴范围plt.xlim(0, 10)
ylim()设置Y轴范围plt.ylim(-1, 1)
xticks()设置X轴刻度plt.xticks([0, 1, 2, 3], ['zero', 'one', 'two', 'three'])
yticks()设置Y轴刻度plt.yticks([-1, 0, 1], ['min', 'zero', 'max'])
legend()添加图例plt.plot([1, 2, 3], label='Line 1'); plt.legend()
grid()添加网格线plt.grid(True)
show()显示图形plt.plot([1, 2, 3], [1, 4, 9]); plt.show()
savefig()保存图形plt.plot([1, 2, 3], [1, 4, 9]); plt.savefig('plot.png')

请注意,上述示例代码仅为简单演示函数的使用,实际应用中可能需要根据具体需求调整参数和设置。另外,为了使示例代码简洁明了,这里没有包含数据准备和图形细节调整的部分。在实际应用中,你通常需要先准备好数据,并根据需要调整图形的各种属性(如线型、颜色、标签等)。

参考

  • Matplotlib中文网

相关文章:

【Python】使用matplotlib绘制图形(曲线图、条形图、饼图等)

文章目录 一、什么是matplotlib二、matplotlib 支持的图形三、如何使用matplotlib1. 安装matplotlib2. 导入matplotlib.pyplot3. 准备数据4. 绘制图形5. 定制图形6. 显示或保存图形7. (可选)使用subplots创建多个子图注意事项: 四、常见图形使…...

vue下载本地xls模版静态文件

需求导入的下载模版不想放在服务器放在前端本地下载静态资源最简单的方式直接访问 public 文件夹下的文件 方法一:使用静态文件路径 将文件放在 public 文件夹中: 把你的文件从 src/assets 移动到 public 文件夹。例如:public/template.xls。…...

手机开热点,里面的WPA2-Personal和WPA3-Personal的区别

WPA2-Personal和WPA3-Personal这两种协议都是用来保护无线网络安全的,但它们在加密强度和安全性方面有所不同。 WPA2-Personal (Wi-Fi Protected Access 2) WPA2是目前最广泛使用的Wi-Fi安全标准之一。它使用AES(Advanced Encryption Standard&#xf…...

算法课程笔记——点积叉积

算法课程笔记——点积叉积...

详解 | DigiCert EV代码签名证书

简介 DigiCert EV 代码签名证书是一种高级别的代码签名证书,它不仅提供了标准代码签名证书的所有安全特性,还增加了额外的身份验证流程,以确保软件开发者或发布者的身份得到最严格验证。这对于提升软件的信任度、防止恶意篡改和确保下载安全…...

pdf压缩大小,PDF压缩大小不影响清晰度

你是否曾为PDF文件过大而烦恼?想要分享或上传文件时,却因为它的体积而束手无策?别担心,今天我将为大家分享一些简单实用的 PDF 压缩技巧,让你的文件轻松压缩pdf。 打开“轻云处理pdf官网”, 的网站。然后上…...

项目管理必备工具:2024年十大软件排行榜

有效的工具不仅可以帮助团队保持组织性,还能显著提高项目完成率。选择合适的项目管理软件,对于实现这些目标至关重要。 在2024年的各大权威榜单中,排名前十的项目管理软件包括:PingCode、Worktile(国内)&am…...

SOLIDWORKS专业版2024价格

SOLIDWORKS Professional 专业版,带有 ECAD/MCAD 协作、自动成本估算、协作功能、设计和工程图检查、复杂的零部件库以及高级真实感渲染。 1. ECAD/MCAD协作:SOLIDWORKS专业版提供了强大的ECAD/MCAD协作功能,使得设计团队可以更高效地进行跨…...

【外快业务】百度网盘扫码源码系统部署过程记录。

视频地址:【【自动发货项目】电脑PC/移动端扫码登录百度网盘项目源码,支持多人组团购买源码】 https://www.bilibili.com/video/BV1oD421W7oj/?share_sourcecopy_web&vd_source74cf265c4965f8c17f8e89bd8c29408d 1.远程连接服务器执行,…...

lucene原理

一、正排索引 Lucene的基础层次结构由索引、段、文档、域、词五个部分组成。正向索引的生成即为基于Lucene的基础层次结构一级一级处理文档并分解域存储词的过程。 索引文件层级关系如图1所示: 索引:Lucene索引库包含了搜索文本的所有内容&#xff0…...

华为、H3C交换机常用巡检命令

一、硬件状态、IOS版本信息检查 • display clock:显示系统时间。 • display version:查看交换机的版本信息和最近一次重新启动的时间。 • display enviroment:显示设备温度。 • display device:显示单板运行状态。 • di…...

网络安全 DVWA通关指南 SQL Injection(SQL注入)

DVWA SQL Injection 文章目录 DVWA SQL InjectionLowMediumHighImpossible SQL注入漏洞基本原理 Web应用程序对用户输入的数据校验处理不严或者根本没有校验,致使用户可以拼接执行SQL命令。 可能导致数据泄露或数据破坏,缺乏可审计性,甚至导致…...

【Linux】版本

文章目录 linux版本1、linxu技术版本(内核版本)2、linux商业化版本(发行版本) 区别 linux版本 1、linxu技术版本(内核版本) 内核:提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程…...

代码随想录算法训练营day47

题目:188.买卖股票的最佳时机IV、309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费 参考链接:代码随想录 188.买卖股票的最佳时机IV 思路:本题和上题的最多两次买卖相比,改成了最多k次,使用类似思路&…...

【Android面试八股文】Kotlin内置标准函数apply的原理是什么?

文章目录 一、原理解析二、 示例代码2.1 具体示例应用场景2.2 为什么使用 `apply`?apply 是 Kotlin 标准库中的一个高阶函数,它的作用是在对象上执行一个代码块,并返回这个对象本身。其原理涉及到函数类型和接收者对象的结合使用。 一、原理解析 函数类型与接收者对象的结合…...

RegionClip环境安装踩坑指南

RegionClip环境安装 RegionClip环境安装)问题1问题2问题3问题4问题5 RegionClip环境安装) 特别强调,不要单独去安装detectron2,会出现model.clip不存在的错误,通过python -m pip install -e RegionCLIP就可以问题1 问题:torch-c…...

MySQL数据类型、运算符以及常用函数

MySQL数据类型 MySQL数据类型定义了数据的大小范围,因此使用时选择合适的类型,不仅会降低表占用的磁盘空间, 间接减少了磁盘I/O的次数,提高了表的访问效率,而且索引的效率也和数据的类型息息相关。 数值类型 浮点类型…...

算法设计与分析:动态规划法求扔鸡蛋问题 C++

目录 一、实验目的 二、问题描述 三、实验要求 四、算法思想和实验结果 1、动态规划法原理: 2、解决方法: 2.1 方法一:常规动态规划 2.1.1 算法思想: 2.1.2 时间复杂度分析 2.1.3 时间效率分析 2.2 方法二:动态规划加…...

Java项目:基于SSM框架实现的电子竞技管理平台【ssm+B/S架构+源码+数据库+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的电子竞技管理平台 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、功能…...

Scala入门介绍

Scala 是一种强大的多范式编程语言,旨在融合面向对象编程和函数式编程的特性。它运行在 Java 虚拟机(JVM)上,因此可以无缝地与 Java 库进行交互。以下是对 Scala 的入门介绍,并附带了一些基本代码示例。 环境设置 首先…...

品牌策划背后的秘密:我为何对此工作情有独钟?

你是否曾有过一个梦想,一份热爱,让你毫不犹豫地投身于一个行业? 我就是这样一个对品牌策划充满热情的人。 从选择职业到现在,我一直在广告行业里“混迹”,一路走来,也见证了许多对品牌策划一知半解的求职…...

超越招聘技术人才目标的最佳技术招聘统计数据

研究发现,难以找到的人才比以往任何时候都更难找到:根据新人才委员会招聘调查报告:2024年难以找到的人才的战略和战略,60%的受访者表示,熟练人才的招聘时间比一年前长。调查进一步揭示了以下关于招聘技术的关键事实&am…...

cocos creator 调试插件

适用 Cocos Creator 3.4 版本,cocos creator 使用google浏览器调试时,我们可以把事实运行的节点以节点树的形式显示在浏览器上,支持运行时动态调整位置等、、、 将下载的preview-template插件解压后放在工程根目录下,然后重新运行…...

Clickhouse监控_监控的指标以及Grafana配置Clickhouse指标异常时触发报警

使用PrometheusGrafana来监控Clickhouse服务和性能指标 Clickhouse监控指标的官方文档https://clickhouse.com/docs/zh/operations/monitoring 建议使用PrometheusGrafana组合监控Clickhouse服务和性能指标,数据流向:Prometheus的clickhouse_exporter组件…...

动手学深度学习(Pytorch版)代码实践 -卷积神经网络-27含并行连结的网络GoogLeNet

27含并行连结的网络GoogLeNet import torch from torch import nn from torch.nn import functional as F import liliPytorch as lp import matplotlib.pyplot as pltclass Inception(nn.Module):# c1--c4是每条路径的输出通道数def __init__(self, in_channels, c1, c2, c3, …...

fastadmin多语言切换设置

fastadmin版本:1.4.0.20230711 以简体,繁体,英文为例 一,在application\config.php 里开启多语言 // 是否开启多语言lang_switch_on > true, // 允许的语言列表allow_lang_list > [zh-cn, en,zh-tw], 二…...

如何清理docker build的缓存

在使用 Docker 构建镜像时,Docker 会利用构建缓存来加速后续的构建过程。如果某一层及其所有上层未发生变化,Docker 就会重用这一层的缓存。虽然这可以显著提升构建速度,但有时你可能希望强制 Docker 忽略缓存,以确保从头开始重新…...

OceanBase v4.2 特性解析:如何用分页保序功能解决MySQL模式分页查询不稳定

导言 在MySQL业务迁移OceanBase过程中,经常遇到的一个问题是分页查询结果的不稳定性,这通常需要数据库DBA介入绑定执行计划。下面简单举个例子,以便大家更好地理解为什么有的分页查询,在原来的MySQL数据库下运行没有问题&#xf…...

RK3588/算能/Nvidia智能盒子:加速山西铝业智能化转型,保障矿业皮带传输安全稳定运行

近年来,各类矿山事故频发,暴露出传统矿业各环节的诸多问题。随着全国重点产煤省份相继出台相关政策文件,矿业智能化建设进程加快。皮带传输系统升级是矿业智能化的一个重要环节,同时也是降本增效的一个重点方向。 △各省份智能矿山…...

2024.6.24 IDEA中文乱码问题(服务器 控制台 TOMcat)实测已解决

1.问题产生原因: 1.文件编码不一致:如果文件的编码方式与IDEA设置的编码方式不一致,就会产生乱码。确保文件和IDEA使用相同的编码,通常是UTF-8。2.IDEA设置问题:检查IDEA的全局编码设置和项目编码设置是否正确。3.终端…...