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

【python】matplotlib(moon cake)

在这里插入图片描述

文章目录

  • 1、Style1
  • 2、Style2
  • 3、Style3
  • 4、Style4
  • 5、Style5
  • 6、Style6
  • 7、Style7
  • 8、参考的库函数
    • matplotlib.patches.Arc
    • matplotlib.patches.Wedge
  • 9、参考

1、Style1

"""
author: tyran
"""from numpy import sin, cos, pi
import matplotlib.pyplot as pltfrom matplotlib.patches import Arc, Circle, Wedge
from matplotlib.font_manager import FontPropertieslength = 20
R = 3**0.5*length/(3**0.5*cos(pi/12)-sin(pi/12))
r = 2*sin(pi/12)*R/3**0.5arc1 = Arc([0, length], width=2*r, height=2*r,angle=0, theta1=30, theta2=150, ec='orange', linewidth=4)  ##ec为线条颜色,可以自由替换arc2 = Arc([-length/2, length/2*3**0.5], width=2*r, height=2*r,angle=0, theta1=60, theta2=180, ec='orange', linewidth=4)
arc3 = Arc([-length/2*3**0.5, length/2], width=2*r, height=2*r,angle=0, theta1=90, theta2=210, ec='orange', linewidth=4)
arc4 = Arc([-length, 0], width=2*r, height=2*r, angle=0, theta1=120, theta2=240, ec='orange', linewidth=4)
arc5 = Arc([-length/2*3**0.5, -length/2], width=2*r, height=2*r,angle=0, theta1=150, theta2=270, ec='orange', linewidth=4)
arc6 = Arc([-length/2, -length/2*3**0.5], width=2*r, height=2*r,angle=0, theta1=180, theta2=300, ec='orange', linewidth=4)
arc7 = Arc([0, -length], width=2*r, height=2*r, angle=0, theta1=210, theta2=330, ec='orange', linewidth=4)
arc8 = Arc([length/2, -length/2*3**0.5], width=2*r, height=2*r,angle=0, theta1=240, theta2=360, ec='orange', linewidth=4)
arc9 = Arc([length/2*3**0.5, -length/2], width=2*r, height=2*r,angle=0, theta1=270, theta2=390, ec='orange', linewidth=4)
arc10 = Arc([length, 0], width=2*r, height=2*r, angle=0, theta1=300, theta2=420, ec='orange', linewidth=4)
arc11 = Arc([length/2*3**0.5, length/2], width=2*r, height=2*r,angle=0, theta1=330, theta2=450, ec='orange', linewidth=4)
arc12 = Arc([length/2, length/2*3**0.5], width=2*r, height=2*r,angle=0, theta1=0, theta2=120, ec='orange', linewidth=4)circle = Circle((0,0), R, ec='orange', fc='white', linewidth=4) ##ec为线条颜色,fc为填充颜色,可以自由替换wedge1 = Wedge([-2, 2], R-5, 90, 180, ec='orange',fc=r'white', linewidth=4) ##ec为线条颜色,fc为填充颜色,可以自由替换
wedge2 = Wedge([-5, 5], R-12, 90, 180, ec='orange',fc=r'white', linewidth=4)
wedge3 = Wedge([-2, -2], R-5, 180, 270, ec='orange',fc=r'white', linewidth=4)
wedge4 = Wedge([-5, -5], R-12, 180, 270, ec='orange',fc=r'white', linewidth=4)
wedge5 = Wedge([2, -2], R-5, 270, 360, ec='orange',fc=r'white', linewidth=4)
wedge6 = Wedge([5, -5], R-12, 270, 360, ec='orange',fc=r'white', linewidth=4)
wedge7 = Wedge([2, 2], R-5, 0, 90, ec='orange',fc=r'white', linewidth=4)
wedge8 = Wedge([5, 5], R-12, 0, 90, ec='orange',fc=r'white', linewidth=4)art_list = [arc1, arc2, arc3, arc4, arc5, arc6, arc7, arc8, arc9, arc10, arc11, arc12]art_list.extend([circle, wedge1, wedge2, wedge3, wedge4, wedge5, wedge6, wedge7, wedge8])# art_list.extend([circle, wedge1, wedge2, wedge3, wedge4, wedge5, wedge6, wedge7, wedge8])
fig, ax = plt.subplots(figsize=(8, 8))
ax.set_aspect('equal')
for a in art_list:ax.add_patch(a)plt.axis('off')
font_set = FontProperties(fname=r"Alibaba-PuHuiTi-Medium.ttf", size=12)  ##可以自由下载字体使用
plt.text(-15.5, -2.5, '中秋快乐', bbox=dict(boxstyle='square', fc="w", ec='orange', linewidth=4),fontproperties=font_set,fontsize=50,color='orange')  ##ec为线条颜色,color为字体颜色,可以自由替换
plt.text(-25, -33, '但愿人长久,千里共婵娟', fontproperties=font_set, fontsize=30, color='#aa4a30')
plt.ylim([-35, 35])
plt.xlim([-35, 35])plt.show()

在这里插入图片描述

最外环 12 个弧形对应 arc1arc12

紧接着一个大圆对应着 circle

接下来是 8 个 90° 的扇形对应 wedge1wedge8

字体通过 plt.text 配置实现

2、Style2

借助内旋轮线绘制月饼,先看看具体原理

内旋轮线(hypotrochoid)是追踪附着在围绕半径为 R 的固定的圆内侧滚转的半径为 r 的圆上的一个点得到的转迹线,这个点到内部滚动的圆的中心的距离是 d

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

数学表达式

在这里插入图片描述

import numpy as np
from numpy import sin, cos
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontPropertiesx = lambda d,r,R,theta: (R-r)*np.cos(theta) + d*np.cos(((R-r)/r)*theta)
y = lambda d,r,R,theta: (R-r)*np.sin(theta) - d*np.sin(((R-r)/r)*theta)
# 转数-内圆旋转次数
revs = 300
# 迭代次数, 即沿绘制路径获取的点。
Niter = 100
thetas = np.linspace(0, revs*2*np.pi, num=Niter)d = 20  # 距离
r = 11  # 小圆半径
R = 12  # 大圆半径
plt.plot(x(d, r, R, thetas), y(d, r, R, thetas), color='orange', linewidth = '4')length = 2.6
# 画个圆
theta = np.linspace(0, 2 * np.pi, 100)
x = length * cos(theta)
y = length * sin(theta)
plt.plot(x, y, color='orange', linewidth = '5')
length = 18
# 画个大圆
theta = np.linspace(0, 2 * np.pi, 100)
x = length * cos(theta)
y = length * sin(theta)
plt.plot(x, y, color='orange', linewidth = '5')
plt.axis('equal')
plt.axis('off')font_set = FontProperties(fname=r"Alibaba-PuHuiTi-Medium.ttf", size=12)
plt.text(-5, -5, '中秋\n快乐', bbox=dict(boxstyle='circle', fc="w", ec='orange', linewidth=4),fontproperties=font_set, fontsize=40, color='orange') ##ec为线条颜色,color为字体颜色,可以自由替换
plt.text(-15, -25, '但愿人长久,千里共婵娟', fontproperties=font_set, fontsize=20, color='#aa4a30')plt.show()

在这里插入图片描述
画了两个圆,写了字体,剩下的就是内旋轮线的轨迹了

转数-内圆旋转次数 revs = 300

迭代次数, 即沿绘制路径获取的点。Niter = 100

在这里插入图片描述

3、Style3

借助内旋轮线绘制月饼

import numpy as np
from numpy import sin, cos
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontPropertiesx = lambda d,r,R,theta: (R-r)*np.cos(theta) + d*np.cos(((R-r)/r)*theta)
y = lambda d,r,R,theta: (R-r)*np.sin(theta) - d*np.sin(((R-r)/r)*theta)
# 转数-内圆旋转次数
revs = 30
# 迭代次数, 即沿绘制路径获取的点。
Niter = 9999
thetas = np.linspace(0,revs*2*np.pi,num=Niter)d = 10  #  距离
r = 46 # 小圆半径
R = 50 # 大圆半径
plt.plot(x(d, r, R, thetas), y(d, r, R, thetas))d = 20  #  距离
r = 11 # 小圆半径
R = 12 # 大圆半径
plt.plot(x(d, r, R, thetas), y(d, r, R, thetas), color='orange', linewidth = '4')length = 2.6
# 画个圆
theta = np.linspace(0, 2 * np.pi, 100)
x = length * cos(theta)
y = length * sin(theta)
plt.plot(x, y, color='orange', linewidth = '5')
length = 18
# 画个大圆
theta = np.linspace(0, 2 * np.pi, 100)
x = length * cos(theta)
y = length * sin(theta)
plt.plot(x, y, color='#FF6347', linewidth = '5')
plt.axis('equal')
plt.axis('off')font_set = FontProperties(fname=r"Alibaba-PuHuiTi-Medium.ttf", size=12)
plt.text(-6, -6, '中秋\n快乐', bbox=dict(boxstyle='circle', fc="w", ec='orange', linewidth=4), fontproperties=font_set,fontsize=40, color='orange') ##ec为线条颜色,color为字体颜色,可以自由替换
plt.text(-20, -25, '但愿人长久,千里共婵娟', fontproperties=font_set, fontsize=20, color='#aa4a30')plt.show()

在这里插入图片描述
第一个 plot 绘制弹簧形状的蓝色的轨迹

第二个 plot 绘制最外圈弧度状的橙色轨迹

第三个 plot 绘制橙色的内圈小圆

第四个 plot 绘制红色的外圈大圆

配上文字,色彩还是比较悦目的

4、Style4

借助内旋轮线绘制月饼

import numpy as np
from numpy import sin, cos
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontPropertiesx = lambda d,r,R,theta: (R-r)*np.cos(theta) + d*np.cos(((R-r)/r)*theta)
y = lambda d,r,R,theta: (R-r)*np.sin(theta) - d*np.sin(((R-r)/r)*theta)
# 转数-内圆旋转次数
revs = 300
# 迭代次数, 即沿绘制路径获取的点。
Niter = 999
thetas = np.linspace(0,revs*2*np.pi,num=Niter)d = 10  #  距离
r = 46 # 小圆半径
R = 50 # 大圆半径
plt.plot(x(d, r, R, thetas), y(d, r, R, thetas))d = 20  #  距离
r = 11 # 小圆半径
R = 12 # 大圆半径
plt.plot(x(d, r, R, thetas), y(d, r, R, thetas), color='orange', linewidth = '4')d = 20  #  距离
r = 11 # 小圆半径
R = 14 # 大圆半径
plt.plot(x(d, r, R, thetas), y(d, r, R, thetas), color='orange', linewidth = '4')length = 2.6
# 画个圆
theta = np.linspace(0, 2 * np.pi, 100)
x = length * cos(theta)
y = length * sin(theta)
plt.plot(x, y, color='orange', linewidth = '5')
length = 18.5
# 画个大圆
theta = np.linspace(0, 2 * np.pi, 100)
x = length * cos(theta)
y = length * sin(theta)
plt.plot(x, y, color='orange', linewidth = '5')
plt.axis('equal')length = 14
# 画个小圆
theta = np.linspace(0, 2 * np.pi, 100)
x = length * cos(theta)
y = length * sin(theta)
plt.plot(x, y, color='orange', linewidth = '5')
plt.axis('equal')
plt.axis('off')font_set = FontProperties(fname=r"Alibaba-PuHuiTi-Medium.ttf", size=12)
plt.text(-6, -5, '中秋\n快乐', bbox=dict(boxstyle='circle', fc="w", ec='orange', linewidth=4), fontproperties=font_set, fontsize=40, color='orange') ##ec为线条颜色,color为字体颜色,可以自由替换
plt.text(-20, -25, '但愿人长久,千里共婵娟', fontproperties=font_set, fontsize=20, color='#aa4a30')plt.show()

在这里插入图片描述

第一个 plot 中间蓝色的形状

在这里插入图片描述

第二个 plot 外圈黄色形状

在这里插入图片描述

第三个 plot 外圈黄色形状

在这里插入图片描述

叠加在一起

在这里插入图片描述

绘制三个圆,搭配文字就是最终的效果

在这里插入图片描述

5、Style5

借助内旋轮线绘制月饼

import numpy as np
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontPropertiesx = lambda d,r,R,theta: (R-r)*np.cos(theta) + d*np.cos(((R-r)/r)*theta)
y = lambda d,r,R,theta: (R-r)*np.sin(theta) - d*np.sin(((R-r)/r)*theta)
# 转数-内圆旋转次数
revs = 800
# 迭代次数, 即沿绘制路径获取的点。
Niter = 99999
thetas = np.linspace(0,revs*2*np.pi,num=Niter)
d = 20
r = 23
R = 60
plt.plot(x(d, r, R, thetas), y(d, r, R, thetas), color='orange', linewidth = '4')
plt.axis('equal')
plt.axis('off')
font_set = FontProperties(fname=r"Alibaba-PuHuiTi-Medium.ttf", size=12)
plt.text(-16, -15, '中秋\n快乐', bbox=dict(boxstyle='circle', fc="w", ec='orange', linewidth=4), fontproperties=font_set, fontsize=40, color='orange') ##ec为线条颜色,color为字体颜色,可以自由替换
plt.text(-2, -70, 'Python做月饼,千里共禅娟', fontproperties=font_set, fontsize=20, color='#aa4a30')
plt.show()

在这里插入图片描述

暴力美学,写字的时候,底板用的是白色的圆圈,通过 boxstyle 控制

6、Style6

借助内旋轮线绘制月饼

import numpy as np
from numpy import sin, cos
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontPropertiesx = lambda d,r,R,theta: (R-r)*np.cos(theta) + d*np.cos(((R-r)/r)*theta)
y = lambda d,r,R,theta: (R-r)*np.sin(theta) - d*np.sin(((R-r)/r)*theta)
# 转数-内圆旋转次数
revs = 88
# 迭代次数, 即沿绘制路径获取的点。
Niter = 200
thetas = np.linspace(0,revs*2*np.pi,num=Niter)
d = 2  #  距离
r = 6 # 小圆半径
R = 3 # 大圆半径
plt.plot(x(d, r, R, thetas), y(d, r, R, thetas), color='orange', linewidth = '4')font_set = FontProperties(fname=r"Alibaba-PuHuiTi-Medium.ttf", size=12)
plt.axis('off')plt.show()

在这里插入图片描述

椭圆的也不在话下

7、Style7

借助内旋轮线绘制月饼

import numpy as np
from numpy import sin, cos
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontPropertiesx = lambda d,r,R,theta: (R-r)*np.cos(theta) + d*np.cos(((R-r)/r)*theta)
y = lambda d,r,R,theta: (R-r)*np.sin(theta) - d*np.sin(((R-r)/r)*theta)
# 转数-内圆旋转次数
revs = 888
# 迭代次数, 即沿绘制路径获取的点。
Niter = 2024
thetas = np.linspace(0,revs*2*np.pi,num=Niter)d = 8  #  距离
r = 36 # 小圆半径
R = 35 # 大圆半径
plt.plot(x(d, r, R, thetas), y(d, r, R, thetas), color='orange')length = 7
# 画个圆
theta = np.linspace(0, 2 * np.pi, 100)
x = length * cos(theta)
y = length * sin(theta)
plt.plot(x, y, color='orange', linewidth = '5')font_set = FontProperties(fname=r"Alibaba-PuHuiTi-Medium.ttf", size=12)
plt.text(-1.5, -1, '中秋', bbox=dict(boxstyle='circle', fc="w", ec='orange', linewidth=4),fontproperties=font_set, fontsize=40, color='orange') ##ec为线条颜色,color为字体颜色,可以自由替换
plt.axis('off')plt.show()

在这里插入图片描述
神奇,真的是什么形状都可以驾驭

8、参考的库函数

matplotlib.patches.Arc

matplotlib.patches.Arc 是 Matplotlib 库中用于绘制圆弧的类。这个类允许你在指定的中心位置、半径、起始角度和终止角度上绘制一个圆弧。这对于需要可视化圆形或环形结构的数据或设计图表时非常有用。

当你创建一个 Arc 对象时,你需要提供以下参数:

  • xy:浮点数元组 (float, float),表示椭圆(及圆弧)的中心点坐标 (x, y)。
  • width:浮点数,表示椭圆水平轴的长度,也即圆弧所在椭圆的宽度。
  • height:浮点数,表示椭圆垂直轴的长度,也即圆弧所在椭圆的高度。
  • angle:浮点数,默认值为 0.0,表示椭圆的旋转角度(逆时针方向)。
  • theta1:浮点数,默认值为 0.0,表示圆弧的起始角度(以度为单位)。这个值相对于 angle 参数,例如,如果 angle=45 和 theta1=90,则绝对起始角度为 135。
  • theta2:浮点数,默认值为 360.0,表示圆弧的结束角度(以度为单位)。这个值也相对于 angle 参数。大于等于 360 的角度,或小于 0 的角度,将通过在范围 [0, 360) 内取输入值模 360 来表示。
  • **kwargs:其他关键字参数,用于设置圆弧的样式属性。大多数补丁属性都支持关键字参数,除了 fill 和 facecolor,因为圆弧不能被填充。

以下是一些常见的属性,用于进一步自定义圆弧的外观:

  • agg_filter:过滤函数,接受一个 (m, n, 3) 的浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 的数组。
  • alpha:标量,表示圆弧的透明度。
  • animated:布尔值,表示是否使用动画渲染。
  • antialiased 或 aa:布尔值,表示是否应用抗锯齿效果。
  • capstyle:{‘butt’, ‘projecting’, ‘round’},表示圆弧端点的样式。
  • clip_box:Bbox,表示用于裁剪圆弧的边界框。
  • clip_on:布尔值,表示是否应用裁剪。
  • clip_path:Patch 或 (Path, Transform),表示用于裁剪圆弧的路径。
    color:颜色,表示圆弧的颜色。
  • edgecolor 或 ec:颜色,表示圆弧边缘的颜色。
  • figure:Figure,表示圆弧所在的图形对象。
  • gid:字符串,表示圆弧的标识符。
  • hatch:{‘/’, ‘’, ‘|’, ‘-’, ‘+’, ‘x’, ‘o’, ‘O’, ‘.’, ‘*’},表示圆弧的填充图案(但注意圆弧不能被填充,此属性主要用于其他可填充对象)。
  • in_layout:布尔值,表示圆弧是否包含在布局中。
  • joinstyle:{‘miter’, ‘round’, ‘bevel’},表示圆弧段之间连接处的样式。
  • label:对象,表示圆弧的标签。
  • linestyle 或 ls:{‘-’, ‘–’, ‘-.’, ‘:’, ‘’} 或其他自定义样式,表示圆弧的线型。
  • linewidth 或 lw:浮点数,表示圆弧的线宽。
  • mouseover:布尔值,表示当鼠标悬停在圆弧上时是否触发事件。
  • path_effects:AbstractPathEffect 的列表,表示应用于圆弧的路径效果。
  • picker:无或布尔值或浮点数或可调用对象,表示用于选择圆弧的拾取器。
  • rasterized:布尔值,表示是否将圆弧栅格化为图像。
  • sketch_params:(scale: float, length: float, randomness: float),表示用于绘制草图效果的参数。
  • snap:布尔值或无,表示是否将圆弧的坐标值对齐到像素网格。
  • transform:Transform,表示应用于圆弧的变换。
  • url:字符串,表示与圆弧关联的 URL。
  • visible:布尔值,表示圆弧是否可见。
  • zorder:浮点数,表示圆弧的堆叠顺序。

请注意,上述属性中的一些可能不适用于 Arc 类,因为某些属性是为其他可填充或可变形对象设计的。对于 Arc 类,最常用的属性包括 color、edgecolor、linewidth、linestyle 和 alpha 等。

matplotlib.patches.Wedge

matplotlib.patches.Wedge 是 Matplotlib 库中的一个类,用于绘制楔形(或扇形)图形。以下是这个类的中文文档,详细解释了其构造函数参数和其他相关属性。

Wedge(center, r, theta1, theta2, width=None, **kwargs)
  • center:浮点数元组 (float, float),表示楔形的中心点坐标 (x, y)。
  • r:浮点数,表示楔形的半径。
  • theta1:浮点数,表示楔形起始角度(以度为单位),相对于 x 轴正方向逆时针测量。
  • theta2:浮点数,表示楔形终止角度(以度为单位),相对于 x 轴正方向逆时针测量。
  • width:可选浮点数,默认值为 None。如果给出宽度,则会绘制一个从内半径 r - width 到外半径 r 的部分楔形。
  • **kwargs:其他关键字参数,用于设置楔形的样式属性。这些属性大多数与 Patch 类相同。

以下是一些常见的属性,用于进一步自定义楔形的外观:

  • agg_filter:过滤函数,接受一个 (m, n, 3) 的浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 的数组。
  • alpha:浮点数,表示楔形的透明度。
  • animated:布尔值,表示是否使用动画渲染。
  • antialiased 或 aa:布尔值或 None,表示是否应用抗锯齿效果。
  • capstyle:{‘butt’, ‘round’, ‘projecting’},表示楔形端点的样式。
  • clip_box:Bbox 实例,表示用于裁剪楔形的边界框。
  • clip_on:布尔值,表示是否应用裁剪。
  • clip_path:(path, transform)、patch 或 None,表示用于裁剪楔形的路径。
  • color:颜色规范,表示楔形的颜色。
  • edgecolor 或 ec:颜色规范,表示楔形边缘的颜色。如果为 ‘auto’,则颜色与 facecolor 相同。
  • facecolor 或 fc:颜色规范,表示楔形的填充颜色。如果为 ‘none’,则楔形不被填充。
  • figure:Figure 实例,表示楔形所在的图形对象。
  • fill:布尔值,表示是否填充楔形。对于 Wedge 类,这个属性通常不起作用,因为楔形总是根据 facecolor 属性决定是否填充。
  • gid:字符串,表示楔形的标识符。
  • hatch:{‘/’, ‘’, ‘|’, ‘-’, ‘+’, ‘x’, ‘o’, ‘O’, ‘.’, ‘*’},表示楔形的填充图案(但注意,由于 Wedge 类总是根据 facecolor 填充,此属性通常不起作用)。
  • joinstyle:{‘miter’, ‘round’, ‘bevel’},表示楔形段之间连接处的样式。
  • label:对象,表示楔形的标签。
  • linestyle 或 ls:{‘solid’, ‘dashed’, ‘dashdot’, ‘dotted’} 或其他自定义样式,表示楔形边缘的线型。但请注意,Wedge 类通常不绘制边缘线,除非通过其他方式(如设置 edgecolor)指定。
  • linewidth 或 lw:浮点数,表示楔形边缘的线宽。但请注意,Wedge 类通常不绘制边缘线。
  • path_effects:AbstractPathEffect 的列表,表示应用于楔形的路径效果。
  • picker:无、布尔值、浮点数或可调用对象,表示用于选择楔形的拾取器。
  • rasterized:布尔值,表示是否将楔形栅格化为图像。
  • sketch_params:(scale: float, length: float, randomness: float),表示用于绘制草图效果的参数。
  • snap:布尔值或无,表示是否将楔形的坐标值对齐到像素网格。
  • transform:Transform,表示应用于楔形的变换。
  • url:字符串,表示与楔形关联的 URL。
  • visible:布尔值,表示楔形是否可见。
  • zorder:浮点数,表示楔形的堆叠顺序。

9、参考

  • 用 Python 画个月饼 祝各位中秋快乐!
  • https://github.com/spaceack/matplotlib-draw-mooncake
  • Python利用matplotlib万花尺画月饼

相关文章:

【python】matplotlib(moon cake)

文章目录 1、Style12、Style23、Style34、Style45、Style56、Style67、Style78、参考的库函数matplotlib.patches.Arcmatplotlib.patches.Wedge 9、参考 1、Style1 """ author: tyran """from numpy import sin, cos, pi import matplotlib.pyp…...

Pytorch使用手册-空间变换网络指南(专题十五)

在本教程中,您将学习如何使用一种称为空间变换网络(Spatial Transformer Networks, STN)的视觉注意力机制来增强您的网络。您可以在DeepMind的论文中了解更多关于空间变换网络的内容。 空间变换网络是可微分注意力的一种推广,可以应用于任何空间变换。空间变换网络(简称S…...

Vue 中el-table-column 进行循环,页面没渲染成功

文章目录 前言效果图代码示例可能出现的问题及原因**解决思路** 前言 实现效果:el-table-column 进行循环,使之代码简化 遇到的问题: data进行默认赋值,操作列的删除都可以出来,其他表格里面的数据没出来 效果图 示例…...

基于单片机的温湿度采集系统(论文+源码)

2.1系统的功能 本系统的研制主要包括以下几项功能: (1)温度检测功能:对所处环境的温度进行检测; (2)湿度检测功能:对所处环境的湿度进行检测; (3)加热和制冷功能:可以完成加热和制冷功能。 (4)加湿和除…...

使用envoyfilter添加请求头

该envoyfilter实现了这样一个功能,如果请求头中含有Sw8,则添加请求头HasSw8: true。 1. 内嵌lua脚本 apiVersion: networking.istio.io/v1alpha3 kind: EnvoyFilter metadata:name: add-header-filternamespace: demo-bookinfo # 可根据实际情况调整命…...

kafka开机自启失败问题处理

前言:在当今大数据处理领域,Kafka 作为一款高性能、分布式的消息队列系统,发挥着举足轻重的作用。无论是海量数据的实时传输,还是复杂系统间的解耦通信,Kafka 都能轻松应对。然而,在实际部署和运维 Kafka 的…...

优化站群SEO:使用苹果CMS泛目录插件实现泛目录页面刷新不变

优化站群SEO:使用苹果CMS泛目录插件实现泛目录页面刷新不变 在当今数字营销环境中,搜索引擎优化(SEO)是提升网站流量和可见性的关键策略。苹果CMS作为一款灵活的内容管理系统,提供了丰富的插件功能,尤其是…...

git clone 和 conda 换源

文章目录 git clone 通过 sshconda 创建虚拟环境通过 env.yml 文件conda 换源 git clone 通过 ssh git clone ssh://用户名IP地址:/仓库名字.gitconda 创建虚拟环境通过 env.yml 文件 conda env create -f environment.ymlconda 换源 Step 1 生成 .bashrc 文件在家目录下。…...

人工智能及深度学习的一些题目(二)

1、【单选题】 不属于语音识别预处理的步骤是哪个? 去重 2、HSV,H是色调,S是饱和度,V是亮度。 3、【填空题】 语音信号预处理中( 预加重 )的目的是为了对语音的高频部分进行加重,去除口唇辐射的…...

怎么在VMware Workstation上安装Win11虚拟机?

Windows11虚拟机是免费的吗? Windows 11 虚拟机本身并不是免费的。你需要一个合法的 Windows 11 许可证才能在虚拟机中运行。不过,许多虚拟机软件(如 VirtualBox 和 VMware Workstation Player)本身是免费的,允许你创…...

协程原理 函数栈 有栈协程

协程为什么开销小于线程 协程本质上是线程,将调度的代码在用户态重新实现,因为子程序切换不是线程切换而是由程序自身控制,没有线程切换的开销,所以执行效率高。协程通常是纯软件实现的多任务,与CPU和操作系统通常没有…...

SpringBoot整合springmvc、扩展springmvc

目录 一、 SpringMVC三大组件二、 Spring MVC 组件的自动管理2.1 中央转发器(DispatcherServlet)2.2 控制器2.3 视图解析器自动管理2.4 静态资源访问2.5 消息转换和格式化2.6 欢迎页面的自动配置 三、Springboot扩展springmvc3.1 视图控制器注册&#xf…...

免费部署本地AI大语言模型聊天系统:Chatbox AI + 马斯克grok2.0大模型(简单5步实现,免费且比GPT4.0更好用)

摘要: 本文将指导您如何部署一个本地AI大语言模型聊天系统,使用Chatbox AI客户端应用和grok-beta大模型,以实现高效、智能的聊天体验。 引言: 由马斯克X-AI发布的Grok 2大模型以其卓越的性能超越了GPT4.0。Grok模型支持超长文本…...

音视频入门基础:MPEG2-TS专题(22)——FFmpeg源码中,获取TS流的音频信息的实现

音视频入门基础:MPEG2-TS专题系列文章: 音视频入门基础:MPEG2-TS专题(1)——MPEG2-TS官方文档下载 音视频入门基础:MPEG2-TS专题(2)——使用FFmpeg命令生成ts文件 音视频入门基础…...

从零搭建SpringBoot3+Vue3前后端分离项目基座,中小项目可用

文章目录 1. 后端项目搭建 1.1 环境准备1.2 数据表准备1.3 SpringBoot3项目创建1.4 MySql环境整合,使用druid连接池1.5 整合mybatis-plus 1.5.1 引入mybatis-plus1.5.2 配置代码生成器1.5.3 配置分页插件 1.6 整合swagger3(knife4j) 1.6.1 整…...

修改表字段属性,SQL总结

MYSQl varchar转为mediumtext ALTER TABLE table_name MODIFY COLUMN column_name mediumtext; ALTER TABLE table_name MODIFY COLUMN column_name varchar(255) 1. 修改字段的数据类型 使用 MODIFY COLUMN 可以改变字段的数据类型、长度、默认值或注释,但不会更…...

go-xorm连接

package mainimport ("fmt"_ "github.com/go-sql-driver/mysql""time""xorm.io/xorm" )func MysqlDbContent() {//数据库基本信息var (userName string "root"password string "12345678"ipAddress string &…...

Excel 面试 04 查找函数 XLOOKUP

Excel 的 XLOOKUP 函数是一个功能强大的查找工具,用于从一个范围或数组中搜索值并返回对应结果。它是 VLOOKUP 和 HLOOKUP 的更高级替代品,支持更多灵活功能。 语法 XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], …...

Flannel和Calico之对比(Comparison between Flannel and Calico)

K8S网络插件(CNI):Flannel和Calico详细对比 Flannel和Calico是Kubernetes中最常用的两种CNI(Container Network Interface)插件,各自针对不同的网络需求提供解决方案。以下是对这两种插件的详细讲解&#…...

Spring Boot + Redisson 封装分布式锁

目标&#xff1a;一行代码调用&#xff0c;简单粗暴。 基操&#xff1a;自动加锁&#xff0c;自动解锁&#xff0c;自动处理异常&#xff0c;自动处理锁超时等。 安装 redis redisson <dependency><groupId>org.springframework.boot</groupId><artifac…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...