python绘图matplotlib——使用记录1

本博文来自于网络收集,如有侵权请联系删除

使用matplotlib绘图

  • 1 常用函数汇总
    • 1.1 plot
    • 1.2 legend
    • 1.3 scatter
    • 1.4 xlim
    • 1.5 xlabel
    • 1.6 grid
    • 1.7 axhline
    • 1.7 axvspan
    • 1.8 annotate
    • 1.9 text
    • 1.10 title
  • 2 常见图形绘制
    • 2.1 bar——柱状图
    • 2.2 barh——条形图
    • 2.3 hist——直方图
      • 堆积直方图
    • 阶梯型直方图
    • 2.4 pie——饼图
      • 示例1
      • 示例2
      • 内嵌环饼形图
    • 2.5 polar——极线图
    • 2.6 scatter——气泡图
    • 2.7 stem——棉棒图
    • 2.8 boxplot——箱线图
      • 示例1
      • 示例2
    • 2.9 errorbar——误差棒图
  • 3 常用统计图
    • 3.1 堆积柱状图
    • 3.2 堆积条形图
    • 3.3 并列柱状图
    • 3.4 并列条形图
    • 3.5 堆积折线图
    • 3.6 间断条形图
    • 3.7 阶梯图

matplotlib的具体用法 官网的介绍是最全的,此处只针对平时常用的绘图进行了记录

1 常用函数汇总

1.1 plot

reference:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html
函数:plt.plot(x, y, c=‘r’, marker=‘o’, ls=‘-’, lw=1, ms=1, label=‘line1’)
参数:

  • x: x轴上的数值
  • y: y轴上的数值
  • marker:点的形状
  • c: color, 颜色
  • ls: Line Styles,如,‘-’,‘–’,‘-.’,‘:’
  • lw: linewidth,线条宽度
  • label: 标记图形内容的标签文本

注,plt.plot(x, y, ‘r^:’, lw=1, ms=5, label=‘line1’)
点的颜色、形状、线型通常写在一起,如
label需要与plt.legend配合使用,

1.2 legend

reference:https://matplotlib.org/stable/api/legend_api.html
函数:plt.legend(loc=‘best’)
参数:

  • loc:图例在途中的位置,如,‘upper right’, ‘lower left’, '‘upper center’'等

代码示例

import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.05, 10, 1000)
y = np.sin(x)plt.plot(x, y, marker='o', ls='-', c='r', lw=1, ms=1, label='line1')
# plt.plot(x, y, 'r^:', lw=1, ms=5, label='line1')
plt.legend(loc='best')
plt.show()

1.3 scatter

函数:plt.scatter(x, y, c=‘b’, label=‘scatter1’)
参数:

  • x: x轴上的数值
  • y: y轴上的数值
  • c:颜色
  • label: 标记图形内容的标签文本
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.05, 10, 50)
y = np.sin(x)
y2 = np.cos(x)plt.scatter(x, y, c='b', label='scatter1')
plt.scatter(x, y2, c='r', label='scatter1')
plt.legend()
plt.show()

在这里插入图片描述

1.4 xlim

函数:plt.xlim(xmin, xmax)
参数:

  • xmin: x轴上的最小值
  • ymin: x轴上的最大值
  • 平移性:plt.ylim(ymin, ymax)

1.5 xlabel

函数:plt.xlabel(string)
参数:

  • string: 标签文本内容
  • 平移性:plt.ylabel(string)

1.6 grid

函数:plt.grid(linestyle=‘:’, color="r)
参数:

  • linestyle: 网格线的线条风格
  • color: 网格线的线条颜色

1.7 axhline

绘制平行与x轴的水平参考线
函数:plt.axhline(y=0, c=‘b’, ls=‘–’, lw=2)
参数:

  • y: 水平参考线的出发点
  • c: 参考线的线条颜色
  • ls: 参考线的线条风格
  • lw: 参考线的线条宽度
  • 平移性: plt.axvline(), 绘制平行与y轴的参考线

1.7 axvspan

绘制垂直于x轴的参考区域。
函数:plt.axvspan(xmin=1, xmax=2, facecolor=‘y’, alpha=0.3)
参数:

  • xmin: 参考区域的起始位置。
  • ymin: 参考区域的终止位置。
  • facecolor: 参看区域的填充颜色。
  • alpha: 参考区域的填充颜色的透明度。
  • 平移性: axhspan()
import numpy as np
from matplotlib import pyplot as pltx = np.linspace(0.05, 10, 1000)
y = np.sin(x)plt.plot(x, y, ls='-.', c="c", label="sin(x)")plt.legend()plt.axvspan(xmin=4.0, xmax=6.0, facecolor="y", alpha=0.3)
plt.axhspan(ymin=0.0, ymax=0.5, facecolor="y", alpha=0.3)plt.show()

在这里插入图片描述

1.8 annotate

添加图形内容细节的指向型注释文本。
函数:plt.annotate(“maximum”, xy=(np.pi / 2, 1), xytext=((np.pi / 2) + 1, .8), weight=“bold”, color=‘b’, arrowprops=dict(arrowstyle=“->”, connectionstyle=“arc3”, color=“b”))
参数:

  • string: 图形内容的注释文本。
  • xy: 被注释图形内容的位置坐标。
  • xytext: 注释文本的位置坐标。
  • weight: 注释文本的字体粗细风格。
  • color: 注释文本的字体颜色。
  • arrowprops: 指示被注释内容的箭头的属性字典。
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.05, 10, 1000)
y = np.sin(x)plt.plot(x, y, ls="-.", lw=2, c="g", label='sin(x)')
plt.legend()plt.annotate("maximum", xy=(np.pi / 2, 1), xytext=((np.pi / 2) + 1, .8), weight="bold", color='black',arrowprops=dict(arrowstyle="->", connectionstyle="arc3", color="r"))plt.show()

在这里插入图片描述

1.9 text

添加图形内容细节的无指向型注释文本
函数:plt.text(4, 0.1, “y=sin(x)”, weight=“bold”, color=“b”)
参数:

  • x: 注释文本内容所在位置的横坐标
  • y: 注释文本内容所在位置的纵坐标
  • string: 注释文本内容
  • weight: 注释文本内容的粗细风格
  • color: 注释文本内容的字体颜色
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.05, 10, 1000)
y = np.sin(x)plt.plot(x, y, ls='-.', lw=2, c="c", label="sin(x)")plt.legend()
plt.text(4, 0.1, "y=sin(x)", weight="bold", color="b")
plt.show()

在这里插入图片描述

1.10 title

添加图形内容的标题
函数:plt.title(string)
参数:

  • string: 图形内容的标题文本

2 常见图形绘制

2.1 bar——柱状图

函数:plt.bar(x, y, align=“center”, color=“c”, tick_label=x_label, hatch=“/”)
参数:

  • x: 柱状图中的柱体标签值。
  • y: 柱状图中的柱体高度。
  • align: 柱体对齐方式
  • color: 柱体颜色
  • tick_label: 刻度标签值
  • alpha: 柱体的透明度
  • hatch: 柱体的填充样式,如"/", “\”, “|”, "-"等,符号字符串的符号数量越多,柱体的几何图形的密集程度就越高。
import matplotlib as mpl
import matplotlib.pyplot as plt
from plotly.figure_factory import npmpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = Falsex = [i for i in range(0, 10, 1)]
y = np.random.randint(1, 20, size=10)x_label = [chr(i) for i in range(97, 97+10, 1)]
plt.bar(x, y, align="center", color="c", tick_label=x_label, hatch="/")plt.xlabel("x")
plt.ylabel("y")
plt.show()

在这里插入图片描述

2.2 barh——条形图

import matplotlib as mpl
import matplotlib.pyplot as plt
from plotly.figure_factory import npmpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = Falsex = [i for i in range(0, 10, 1)]
y = np.random.randint(1, 20, size=10)x_label = [chr(i) for i in range(97, 97+10, 1)]
plt.barh(x, y, align="center", color="c", tick_label=x_label, hatch="/")plt.xlabel("x")
plt.ylabel("y")
plt.show()

在这里插入图片描述

2.3 hist——直方图

直方图是用来展现连续型数据分布特征的统计图形,利用直方图可直观地分析出数据的集中趋势和波动情况。
函数:plt.hist(x)
参数:

  • x: 连续型数据输入值
  • bins: 用于确定柱体的个数或是柱体边缘范围
  • color: 柱体的颜色
  • histtype: 柱体类型
  • label: 图例内容
  • rwidth: 柱体宽度
import matplotlib as mpl
import matplotlib.pyplot as plt
from plotly.figure_factory import npmpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = Falsex = np.random.randint(0, 10, 100)
y = range(0, 6, 1)plt.hist(x, bins=y, color='c', histtype="bar", rwidth=1, alpha=0.6)plt.xlabel("x")
plt.ylabel("y")
plt.show()

在这里插入图片描述
除最后一个柱体的数据范围是闭区间,其它柱体的数据范围都是左闭右开区间。
总结,柱状图与直方图的区别:
直方图描述的是连续型数据的分布,柱状图描述的是离散型数据分布;柱状图的柱体之间有空隙,直方图的柱体之间无空隙。

堆积直方图

import matplotlib as mpl
import matplotlib.pyplot as plt
from plotly.figure_factory import npmpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = Falsex1 = np.random.randint(0, 10, 100)
x2 = np.random.randint(0, 10, 100)
y = range(0, 10, 1)plt.hist([x1, x2], bins=y, color=['c', 'y'], histtype="bar", rwidth=1, stacked=True, alpha=0.6)plt.xlabel("x")
plt.ylabel("y")
plt.show()

在这里插入图片描述

阶梯型直方图

将hist()的histtype改为stepfilled即可绘制阶梯型直方图

import matplotlib as mpl
import matplotlib.pyplot as plt
from plotly.figure_factory import npmpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = Falsex1 = np.random.randint(0, 10, 100)
x2 = np.random.randint(0, 10, 100)
y = range(0, 10, 1)
labels = ['a', 'b']
plt.hist([x1, x2], bins=y, color=['c', 'y'], histtype="stepfilled", rwidth=1, stacked=True, label=labels)plt.xlabel("x")
plt.ylabel("y")
plt.legend()
plt.show()

在这里插入图片描述

2.4 pie——饼图

绘制不同类型数据的百分比,通过饼图可以清楚地观察数据的占比情况。
函数:plt.pie(soldNums, explode=explode, labels=kinds, autopct=“%3.1f%%”, startangle=45, shadow=True, colors=colors)
参数:

  • soldNums: 相当于x,并不是参数名称,要绘制的百分比列表
  • explode:饼片边缘偏离半径的百分比
  • labels: 标记每份饼片的文本标签内容
  • autopct: 饼片文本标签内容对应的数值百分比样式
  • startangle: 从x轴作为起始位置,第一个饼片逆时针旋转的角度
  • shadow: 是否绘制饼片的阴影
  • colors: 饼片的颜色
  • 其它参数,pctdistance: 百分比数值的显示位置,以半径长度比例值作为显示位置依据
  • 其它参数,labeldistance: 标签值的显示位置,以半径长度比例值作为显示位置依据

示例1

import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = Falsekinds = "a", "b", "c", "d"
soldNums = [0.3, 0.2, 0.4, 0.1]
colors = ['g', 'r', 'b', 'black']
plt.pie(soldNums, labels=kinds, autopct="%3.2f%%", startangle=60, colors=colors)plt.title("不同类型占比")
plt.show()

在这里插入图片描述

示例2

import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = Falsekinds = "a", "b", "c", "d"
soldNums = [0.3, 0.2, 0.4, 0.1]
colors = ['g', 'r', 'b', 'black']
explode = (0.1, 0.1, 0.1, 0.1)
plt.pie(soldNums, explode=explode, labels=kinds, autopct="%3.1f%%", startangle=45, shadow=True, colors=colors)plt.title("不同类型占比")
plt.show()

在这里插入图片描述

内嵌环饼形图

将饼图嵌套,可观察多组数据的比例分布

import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = Falsekinds = ["a", "b", "c", "d"]
weight1 = [0.3, 0.2, 0.4, 0.1]
weight2 = [0.2, 0.25, 0.35, 0.2]
colors = ['g', 'r', 'b', 'black']
outer_colors = colors
inner_colors = colors
wedges1, texts1, autotexts1 = plt.pie(weight1, autopct="%3.1f%%", radius=1, pctdistance=0.85, colors=outer_colors, textprops=dict(color="w"),wedgeprops=dict(width=0.3, edgecolor="w"))
wedges2, texts2, autotexts2 = plt.pie(weight2, autopct="%3.1f%%", radius=0.65, pctdistance=0.7, colors=inner_colors, textprops=dict(color="w"),wedgeprops=dict(width=0.3, edgecolor="w"))
plt.legend(wedges1, kinds, fontsize=12, title="比例", loc="best", bbox_to_anchor=(0.6, 0, 0.4, 1))
plt.setp(autotexts1, size=12, weight="bold")
plt.setp(autotexts2, size=12, weight="bold")
plt.setp(texts1, size=12)
plt.title("不同类型占比")
plt.show()

在这里插入图片描述

2.5 polar——极线图

在极坐标轴上绘制折线图
函数:plt.plot(theta, r)
参数:

  • theta: 每个标记所在射线与极径的夹角。
  • r: 每个标记到原点的距离。
import matplotlib.pyplot as plt
import numpy as npbarSlices = 12theta = np.linspace(0, 2*np.pi, barSlices, endpoint=False)
r = 30*np.random.rand(barSlices)
plt.polar(theta, r, color="chartreuse", linewidth=2, marker="*", mfc="b", ms=10)
plt.show()

在这里插入图片描述

2.6 scatter——气泡图

二维数据借助气泡大小展示三维数据
函数:plt.scatter(x, y)
参数:

  • x: x轴上的数值。
  • y: y轴上的数值。
  • c: 散点标记的颜色。
  • cmap: 将浮点数映射成颜色的颜色映射表。
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as npa = np.random.randn(50)
b = np.random.randn(50)plt.scatter(a, b, s=np.power(10*a+20*b, 2), c=np.random.rand(50), cmap=mpl.cm.RdYlBu, marker="o")
plt.show()

在这里插入图片描述

2.7 stem——棉棒图

绘制离散有序数据
函数: plt.stem(x, y)
参数:

  • x: 指定棉棒的x轴基线上的位置
  • y: 绘制棉棒的长度
  • linefmt: 棉棒的样式
  • markerfmt : 棉棒末端的样式
  • basefmt: 指定基线的样式
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.5, 2*np.pi, 20)
y = np.random.randn(20)plt.stem(x, y, linefmt="-.", markerfmt="o", basefmt="-")
plt.show()

在这里插入图片描述

2.8 boxplot——箱线图

箱线图是由一个箱体和一对箱须所组成的统计图形。箱体是由第一四分位数、中位数(第二四分位数)和第三分位数所组成的。在箱须的末端之外的数值可以理解为离群值。箱须是对一组数据范围的大致直观描述。

示例1

  • x: 绘制箱线图的输入数据
import matplotlib.pyplot as plt
import numpy as npx = np.random.randn(100)plt.boxplot(x)plt.xticks([1], ["x"])
plt.ylabel("y")plt.grid(axis="y", ls=":", lw=1, color="black", alpha=0.5)
plt.show()

在这里插入图片描述

示例2

函数:bplot = plt.boxplot(testList, whis=whis, widths=width, sym=“o”, labels=labels, patch_artist=True)
参数:

  • testList: 绘制箱线图的输入数据
  • whis: 四分位间距的倍数,用来确定箱须包含数据的范围大小
  • widths: 设置箱体的宽度
  • sym: 离群值的标记样式
  • labels: 每一个数据集的刻度标签
  • patch_artist: 是否给箱体添加颜色
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as npmpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False	# 显示负数testA = np.random.randn(1000)
testB = np.random.randn(1000)testList = [testA, testB]
labels = ["A", "B"]
colors = ["y", "g"]whis = 1.6
width = 0.35bplot = plt.boxplot(testList, whis=whis, widths=width, sym="o", labels=labels, patch_artist=True)
for patch, color in zip(bplot["boxes"], colors):patch.set_facecolor(color)plt.ylabel("随机数值")
plt.grid(axis="y", ls=":", lw=1, color="gray", alpha=0.4)
plt.show()

在这里插入图片描述

2.9 errorbar——误差棒图

绘制y轴方向或是x轴方向的误差范围
函数:

  • x: 数据点的水平位置
  • y: 数据点的垂直位置
  • yerr: y轴方向的数据点的误差计算方法
  • xerr: x轴方向的数据点的误差计算方法
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.1, 1, 10)
y = np.exp(x)plt.errorbar(x, y, fmt="bo:", yerr=0.2, xerr=0.05)plt.xlim(0, 1.1)
plt.show()

在这里插入图片描述

3 常用统计图

3.1 堆积柱状图

令函数bar中的参数bottom=y可输出堆积柱状图

import matplotlib as mpl
import matplotlib.pyplot as pltmpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = Falsex = [i for i in range(5)]
y = [i for i in range(5)]
y1 = [1 for i in range(5)]plt.bar(x, y, align="center", color="c", tick_label=["a", "b", "c", "d", "e"], label='y')
plt.bar(x, y1, align="center", bottom=y, color="g", tick_label=["a", "b", "c", "d", "e"], label='y1')plt.xlabel("x")
plt.ylabel("y")
plt.legend()plt.show()

在这里插入图片描述

3.2 堆积条形图

令函数bar中的参数left=y可输出堆积柱状图

import matplotlib as mpl
import matplotlib.pyplot as pltmpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = Falsex = [i for i in range(5)]
y = [i for i in range(5)]
y1 = [1 for i in range(5)]plt.barh(x, y, align="center", color="c", tick_label=["a", "b", "c", "d", "e"], label='y')
plt.barh(x, y1, align="center", left=y, color="g", tick_label=["a", "b", "c", "d", "e"], label='y1')plt.xlabel("x")
plt.ylabel("y")
plt.legend()plt.show()

在这里插入图片描述

3.3 并列柱状图

并列柱状图的只是单个柱状图的叠加而已,仅需注意叠加的柱状图的x的起始位置。

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as npmpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = Falsex = np.arange(5)
y = [i for i in range(5)]
y1 = [1 for i in range(5)]bar_width = 0.35
tick_label = ["a", "b", "c", "d", "e"]plt.bar(x, y, bar_width, align="center", color="c",  label='y', alpha=0.5)
plt.bar(x+bar_width, y1, bar_width, align="center", color="g", label='y1', alpha=0.5)plt.xlabel("x")
plt.ylabel("y")
plt.legend()plt.show()

在这里插入图片描述

3.4 并列条形图

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as npmpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = Falsex = np.arange(5)
y = [i for i in range(5)]
y1 = [1 for i in range(5)]bar_width = 0.35
tick_label = ["a", "b", "c", "d", "e"]plt.barh(x, y, bar_width, align="center", color="c",  label='y', alpha=0.5)
plt.barh(x+bar_width, y1, bar_width, align="center", color="g", label='y1', alpha=0.5)plt.xlabel("x")
plt.ylabel("y")
plt.legend()plt.show()

在这里插入图片描述

3.5 堆积折线图

堆积折线图是通过绘制不同数据集的折线图而产生的。堆积折线图是按照垂直方向上彼此堆叠且又不相互覆盖的排列顺序,绘制若干条折线图而形成的组合图形。

import matplotlib.pyplot as plt
import numpy as npx = np.arange(1, 5, 1)
y = [i for i in range(4)]
y1 = [1 for i in range(4)]
y2 = [2, 3, 1, 4]labels = ['y', 'y1', 'y2']
colors = ['b', 'g', 'c', 'yellow']plt.stackplot(x, y, y1, y2, labels=labels, colors=colors)
plt.legend(loc="best")plt.show()

在这里插入图片描述

3.6 间断条形图

间断条形图是在条形图的基础上绘制而成的,主要用来可视化定向数据的相同指标在时间维度上的指标值的变化情况,实现定性数据的相同指标的变化情况的有效直观比较。
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as npmpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=Falseplt.broken_barh([(10, 15), (35, 20), (60, 5)], (12, 8), facecolors="yellow")
plt.broken_barh([(5, 10), (20, 2), (28, 6), (40, 3)], (2, 8), facecolors=("r", 'b', 'g', 'c'))plt.xlim(0, 70)
plt.ylim(0, 20)
plt.xlabel("播放时间")plt.xticks(np.arange(0, 70, 10))
plt.yticks([16, 6], ["公益性广告", "食品类广告"])
plt.grid(ls=":", lw=1, color="gray")
plt.title("不同广告的播放时长")plt.show()

在这里插入图片描述
(10, 15)表示从起点是x轴的数值为10的位置起,沿x轴正方向移动15个单位。
(12, 8)表示从起点是y轴的数值为10的位置起,沿y轴正方向移动8个单位,即柱体的高度和垂直起始位置。

3.7 阶梯图

阶梯图常用中时间序列数据的可视化任务中,表示时序数据的波动周期和规律

import matplotlib.pyplot as plt
import numpy as npx = np.linspace(1, 7, 7)
y = np.sin(x)plt.step(x, y, color="r", where="pre", lw=2)
plt.xlim(0, 8)
plt.xticks(np.arange(1,7,1))
plt.ylim(-1.1, 1.1)plt.show()

在这里插入图片描述

where的取值"pre”, 表示x轴上的每个数据点对应的y轴上的数值向左侧绘制水平线直x轴上的此数据点的左侧相邻数据点为止,取值是按照左开右闭区间进行数据点选取的。除“pre”外也可取值"post", 表示在x轴上的相邻数据点的取值是按照左闭右开区间进行数据点选取的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/768464.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

flutter3_douyin:基于flutter3+dart3短视频直播实例|Flutter3.x仿抖音

flutter3-dylive 跨平台仿抖音短视频直播app实战项目。 全新原创基于flutter3.19.2dart3.3.0getx等技术开发仿抖音app实战项目。实现了类似抖音整屏丝滑式上下滑动视频、左右滑动切换页面模块,直播间进场/礼物动效,聊天等模块。 运用技术 编辑器&#x…

Netty剖析 - Why Netty

文章目录 Why NettyI/O 请求的两个阶段I/O 模型Netty 如何实现自己的 I/O 模型线程模型 - 事件分发器(Event Dispather)弥补 Java NIO 的缺陷更低的资源消耗网络框架的选型Netty 发展现状Netty 的使用 Why Netty I/O 模型、线程模型和事件处理机制优化&a…

php搭建websocket

1.项目终端执行命令:composer require topthink/think-worker 2.0.x 2.config多出三个配置文件: 3.当使用php think worker:gateway命令时,提示不支持Windows。 4.打包项目为zip格式 5.打包数据库 6.阿里云创建记录 7.宝塔面板新增站点…

Vue3 上手笔记

1. Vue3简介 2020年9月18日,Vue.js发布版3.0版本,代号:One Piece(n 经历了:4800次提交、40个RFC、600次PR、300贡献者 官方发版地址:Release v3.0.0 One Piece vuejs/core 截止2023年10月,最…

网盘——数据库操作

关于网盘的数据库模块,主要有以下几个内容:定义数据库操作类、将数据库操作类定义成单例模式、数据库操作 数据库是在Qt里面,定义成操作类,专门用这个类产生对象,对数据库实现操作,那么我们在产生对象的时…

BMS设计中的短路保护和MOSFET选型(下)

二、MOSFET参数 1、电气参数 (1)VGS :加在栅源两极之间的最大电压,一般为:-20V-+20V。 VGS额定电压是栅源两极间可以施加的最大电压。设定该额定电压的主要目的是防止电压过高导致的栅氧化层损伤。实际栅氧化层可承受的电压远高于额定电压,但是会随制造工艺的不同而改变…

01-机器学习概述

机器学习的定义 机器学习是一门从数据中研究算法的科学学科。 机器学习直白来讲, 就是根据已有的数据,进行算法选择,并基于算法和数据 构建模型,最终对未来进行预测。 机器学习就是一个模拟人决策过程的一种程序结构。 机器学…

PWM实现电机的正反转和调速以及TIM定时器

pwm.c #include "pwm.h"/* PWM --- PA2 --TIM2_CH3 //将电机信号控制一根接GND,一根接在PA2(TIM2_CH3), 输出PWM控制电机快慢 TIM2挂在APB1 定时器频率:84MHZ*/ void Pwm_Init(void) {GPIO_InitTypeDef GPIO_InitStruct;TIM_TimeBaseInitT…

Django下载使用、文件介绍

【一】下载并使用 【1】下载框架 (1)注意事项 计算机名称不要出现中文python解释器版本不同可能会出现启动报错项目中所有的文件名称不要出现中文多个项目文件尽量不要嵌套,做到一项一夹 (2)下载 Django属于第三方模块&#…

STM32微控制器中,如何处理多个同时触发的中断请求?

在STM32微控制器中,处理多个同时触发的中断请求需要一个明确的中断优先级策略,以确保关键任务能够及时得到响应。STM32的中断控制器(NVIC)支持优先级分组,允许开发者为不同的中断设置抢占优先级和子优先级。本文将详细…

uniapp 打包后缺少maps模块和share模块的解决方案

缺失maps模块 我的应用 | 高德控制台 缺失share模块 QQ互联管理中心 微信开放平台

星云小窝项目1.0——项目介绍(一)

星云小窝项目1.0——项目介绍(一) 文章目录 前言1. 介绍页面2. 首页2.1. 游客模式2.2. 注册用户后 3. 星云笔记3.1. 星云笔记首页3.2. 星云笔记 个人中心3.2. 星云笔记 系统管理3.3. 星云笔记 文章展示3.3. 星云笔记 新建文章 4. 数据中心5. 交流评论6. …

Linux cp、mv命令显示进度条

1.advcpmv 平常使用cp 拷贝大文件时,看不到多久可以完成,虽然加上-v参数也只能看到正在拷贝文件,那就使用以下方法实现 git clone https://github.com/jarun/advcpmv.git cd advcpmv/ bash install.shmv ./advcp /usr/local/bin/ mv ./advmv …

SpringBoot3+Vue3项目的阿里云部署--将后端以及前端项目打包

一、后端:在服务器上制作成镜像 1.准备Dockerfile文件 # 基础镜像 FROM openjdk:17-jdk-alpine # 作者 MAINTAINER lixuan # 工作目录 WORKDIR /usr/local/lixuan # 同步docker内部的时间 RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ…

HCIP【PPP协议CHAP验证】

目录 实验目的: 实验拓扑图: 实验过程: 一:按照图示配置所有设备的IP地址 (1)R1和R2使用PPP链路直连 (2)R2和R3把2条PPP链路捆绑为PPP MP直连 二:PPP协议的CHAP验证 (3)R2 对 R1 的 PPP 进行单向 c…

C#执行命令行

效果图 主要代码方法 private Process p;public List<string> ExecuteCmd(string args){System.Diagnostics.Process p new System.Diagnostics.Process();p.StartInfo.FileName "cmd.exe";p.StartInfo.RedirectStandardInput true;p.StartInfo.RedirectSta…

权限提升-Windows权限提升篇数据库篇MYSQLMSSQLORACLE自动化项目

知识点 1、Web到Win-数据库提权-MSSQL 2、Web到Win-数据库提权-MYSQL 3、Web到Win-数据库提权-Oracle 章节点&#xff1a; 1、Web权限提升及转移 2、系统权限提升及转移 3、宿主权限提升及转移 4、域控权限提升及转移 基础点 0、为什么我们要学习权限提升转移技术&#xff1…

108、3D Gaussian Splatting for Real-Time Radiance Field Rendering

简介 官网 更少训练时间的同时实现最先进的视觉质量&#xff0c;能在1080p分辨率下实现高质量的实时(≥30 fps)新视图合成 NeRF使用隐式场景表示&#xff0c;体素&#xff0c;点云等属于显示建模方法&#xff0c;3DGS就是显示辐射场。它用3D高斯作为灵活高效的表示方法&…

vscode使用Runner插件将.exe文件统一放到一个目录下

找到右下角管理&#xff0c;点击扩展。 找到Code Runner插件&#xff0c;打开扩展设置。 向下翻&#xff0c;找到Executor Map&#xff0c;点击在settings.json中编辑。 在c和c的配置命令栏中增加\\\output\\即可。&#xff08;增加的目录不能自动创建&#xff0c;需要手动创建…

MCGS学习——用户管理

用户管理介绍 用户管理主要是为了实现触摸屏的安全操作&#xff0c;工业过程控制中&#xff0c;应该尽量避免由于人为的误操作所引发的故障或事故&#xff0c;而某些失误带来的后果是致命的&#xff1b;通过用户管理严格限制各类操作的权限&#xff0c;使不具备操作资格的人员…