使用python制作常用图表

news2024/9/21 3:03:46

案例01 制作柱形图展示数据的对比关系——员工销售业绩统计表.xlsx

import xlwings as xw
app = xw.App(visible=True, add_book=False)
workbook = app.books.open('员工销售业绩统计表.xlsx') # 打开要制作图表的工作簿
for i in workbook.sheets: # 遍历工作簿中的工作表
    chart = i.charts.add(left=200, top=0, width=355, height=211)  # 设置图表的位置和尺寸
    chart.set_source_data(i['A1'].expand()) # 读取工作表中要制作图表的数据
    chart.chart_type = 'column_clustered' # 制作柱形图
workbook.save('柱形图.xlsx')
workbook.close()
app.quit()

运行结果打开柱形图.xlsx即可查看

 用特定含义的字符串来指定图表类型,常用图表类型对应的字符串如下:

图表类型字符串图表类型字符串
柱形图‘column_clustered'饼图

'pie'

条形图'bar_clustered'圆环图‘doughnut’
折线图‘line’散点图‘xy_scatter'
面积图’area‘雷达图’radar‘

批量制作条形图

import xlwings as xw
app = xw.App(visible = True, add_book = False)
workbook = app.books.open('员工销售业绩统计表.xlsx')
for i in workbook.sheets:
    chart = i.charts.add(left = 200, top = 0, width = 355, height = 211)
    chart.set_source_data(i['A1'].expand('table'))
    chart.chart_type = 'bar_clustered' # 制作条形图
workbook.save('条形图.xlsx')
workbook.close()
app.quit()

案例02 制作折线图展示数据的变化趋势——月销售表.xlsx

import pandas as pd
import matplotlib.pyplot as plt
import xlwings as xw
df = pd.read_excel('月销售表.xlsx')
figure = plt.figure()
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = df['月份']
y = df['销售额']
plt.plot(x, y, color = 'red', linewidth = '3', linestyle = 'solid')  # 制作折线图
plt.title(label = '月销售额趋势图', fontdict = {'color' : 'black', 'size' : 30}, loc = 'center') # 添加并设置图表标题
for a,b in zip(x,y): # 遍历折线图表标题
    plt.text(a, b + 0.2, (a, '%.0f' % b), ha = 'center', va =  'bottom', fontsize = 10) # 添加并设置数据标签
plt.axis('off')  # 隐藏坐标轴
app = xw.App(visible = False)  # 启动Excel程序
workbook = app.books.open('月销售表.xlsx')  # 打开要插入图表的工作簿
worksheet = workbook.sheets['Sheet1']   #选中工作表”Sheet1“
worksheet.pictures.add(figure, name = '图片1', update = True, left = 200) # 在工作表中插入制作的折线图
workbook.save('折线图.xlsx')
workbook.close()
app.quit()

运行结果:

 

axis()函数的参数值为’off’时表示不显示图表坐标轴,为‘on'时表示显示图表坐标轴  

制作折线图并为最高点添加数据标签

import pandas as pd
import matplotlib.pyplot as plt
import xlwings as xw
df = pd.read_excel('月销售表.xlsx')
figure = plt.figure()
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = df['月份']
y = df['销售额']
plt.plot(x, y, color = 'red', linewidth = '3', linestyle = 'solid')  # 制作折线图
plt.title(label = '月销售额趋势图', fontdict = {'color' : 'black', 'size' : 30}, loc = 'center') # 添加并设置图表标题
max1 = df['销售额'].max() # 获取最高销售额
df_max = df[df['销售额']== max1]  # 选取最高销售额对应的行数据
for a,b in zip(df_max['月份'],df_max['销售额']): # 遍历折线图表标题
    plt.text(a, b + 0.05, (a, '%.0f' % b), ha = 'center', va =  'bottom', fontsize = 10) # 添加并设置数据标签
plt.axis('off')  # 隐藏坐标轴
app = xw.App(visible = False)  # 启动Excel程序
workbook = app.books.open('月销售表.xlsx')  # 打开要插入图表的工作簿
worksheet = workbook.sheets['Sheet1']   #选中工作表”Sheet1“
worksheet.pictures.add(figure, name = '图片1', update = True, left = 200) # 在工作表中插入制作的折线图
workbook.save('显示最高点数据标签的折线图.xlsx')
workbook.close()
app.quit()

运行结果:

 

制作平滑折线图

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from scipy import interpolate
import xlwings as xw
df = pd.read_excel('月销售表.xlsx')
figure = plt.figure()  
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = df['月份']
y = df['销售额']
xnew = np.arange(1, 12, 0.1)
func = interpolate.interp1d(x, y, kind = 'cubic')
ynew = func(xnew)
plt.plot(xnew, ynew, color = 'red', linewidth = '3', linestyle = 'solid') # 制作平滑折线图
plt.title(label = '月销售额趋势图',fontdict = {'color' : 'black', 'size' : 30}, loc = 'center')
plt.xlabel('月份', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 20}, labelpad = 20)  
plt.ylabel('销售额', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 20}, labelpad = 20)
plt.xlim(0, 12)  # 设置图表x轴的取值范围
app = xw.App(visible = False)
workbook = app.books.open('月销售表.xlsx')
worksheet = workbook.sheets['Sheet1']
worksheet.pictures.add(figure, name = '图片1', update = True, left = 200)
workbook.save('平滑折线图.xlsx')
workbook.close()
app.quit()

运行结果:

 arange()是NumPy模块中的函数,用于创建等差数组。

语法格式:

arange(start,stop,step)

参数说明
start起始值。可选参数,默认从0开始
stop结束值。生成的数组不包含结束值
step步长。可选参数,默认步长为1,如果指定了step,还必须给出start

案例03 制作散点图判断两组数据的相关性——汽车速度和刹车距离表.xlsx

import pandas as pd
import matplotlib.pyplot as plt
import xlwings as xw
df = pd.read_excel('汽车速度和刹车距离表.xlsx')
figure = plt.figure()
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = df['汽车速度(km/h)']
y = df['刹车距离(m)']
plt.scatter(x, y, s = 400, color = 'red', marker = 'o', edgecolor = 'black')  # 制作散点图
plt.xlabel('汽车速度(km/h)', fontdict = {'family' : 'Microsoft YaHei', 'color' : 'black', 'size' : 20}, labelpad = 20) # 添加并设置x轴标题
plt.ylabel('刹车距离(m)', fontdict = {'family' : 'Microsoft YaHei', 'color' : 'black', 'size' : 20}, labelpad = 20) # 添加并设置y轴标题
plt.title('汽车速度与刹车距离关系图', fontdict = {'family' : 'Microsoft YaHei', 'color' : 'black', 'size' : 30}, loc = 'center') # 添加并设置图表标题
app = xw.App(visible = False)  # 启动Excel程序
workbook = app.books.open('汽车速度和刹车距离表.xlsx')  # 打开要插入图表的工作簿
worksheet = workbook.sheets[0]  # 选中第1个工作表
worksheet.pictures.add(figure, name = '图片1', update = True, left = 200)  # 在工作表中插入制作的散点图
workbook.save('散点图.xlsx')
workbook.close()
app.quit()

 运行结果:

scatter()是Matplotlib模块中的函数,用于制作散点图。

语法格式:

scatter(x,y,s,color,marker,linewidth,edgecolor)

参数说明
xx坐标的值
yy坐标的值
s每个点的面积。如果该参数只有一个值或者省略该参数,表示所有点的大小都一样;如果该参数有多个值,则表示每个点的大小都不一样,此时散点图就变成了气泡图
color每个点的填充颜色。即可以为所有点填充同一种颜色,也可以为不同的点填充不同的颜色
marker每个点的形状。
linewidth每个点的边框粗细
edgecolor每个点的边框颜色

为散点图添加线性趋势线

import pandas as pd
import matplotlib.pyplot as plt
import xlwings as xw
from sklearn import linear_model
df = pd.read_excel('汽车速度和刹车距离表.xlsx')
figure = plt.figure()
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = df['汽车速度(km/h)']
y = df['刹车距离(m)']
plt.scatter(x, y, s = 400, color = 'red', marker = 'o', edgecolor = 'black')
plt.xlabel('汽车速度(km/h)', fontdict = {'family' : 'Microsoft YaHei', 'color' : 'black', 'size' : 20}, labelpad = 20)
plt.ylabel('刹车距离(m)', fontdict = {'family' : 'Microsoft YaHei', 'color' : 'black', 'size' : 20}, labelpad = 20)
plt.title('汽车速度与刹车距离关系图', fontdict = {'family' : 'Microsoft YaHei', 'color' : 'black', 'size' : 30}, loc = 'center')
model = linear_model.LinearRegression().fit(x.values.reshape(-1,1), y)
pred = model.predict(x.values.reshape(-1,1))
plt.plot(x, pred,  color = 'black', linewidth = '3', linestyle = 'solid', label = '线性趋势线') # 绘制线性趋势线
plt.legend(loc = 'upper left')
app = xw.App(visible = False)
workbook = app.books.open('汽车速度和刹车距离表.xlsx')
worksheet = workbook.sheets[0]
worksheet.pictures.add(figure, name = '图片1', update = True, left = 200)
workbook.save('为散点图添加线性趋势线.xlsx')
workbook.close()
app.quit()

运行结果:

 

制作气泡图——气泡图.xlsx

import pandas as pd
import matplotlib.pyplot as plt
import xlwings as xw
df = pd.read_excel('气泡图.xlsx')
figure = plt.figure()
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = df['销售量']
y = df['利润(万)']
z = df['产品名称']
plt.scatter(x, y, s = y * 100, color = 'red', marker = 'o')
plt.xlabel('销售量', fontdict = {'family' : 'Microsoft YaHei', 'color' : 'black', 'size' : 20}, labelpad = 20)
plt.ylabel('利润(万)', fontdict = {'family' : 'Microsoft YaHei', 'color' : 'black', 'size' : 20}, labelpad = 20)
plt.title('销售量与利润关系图', fontdict = {'family' : 'Microsoft YaHei', 'color' : 'black', 'size' : 30}, loc = 'center')
for a, b, c in zip(x, y, z):
    plt.text(a, b, c, ha = 'center', va = 'center', fontsize = 30, color = 'white')
plt.xlim(0, 800)
plt.ylim(0, 120)
app = xw.App(visible = False)
workbook = app.books.open('气泡图.xlsx')
worksheet = workbook.sheets[0]
worksheet.pictures.add(figure, name = '图片1', update = True, left = 200)
workbook.save('气泡图1.xlsx')
workbook.close()
app.quit()

运行结果:

案例04 制作饼图展示部分和总体的比例关系——饼图.xlsx

import pandas as pd
import matplotlib.pyplot as plt
import xlwings as xw
df = pd.read_excel('饼图.xlsx')
figure = plt.figure()
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = df['产品名称']
y = df['销售额']
plt.pie(y, labels = x, labeldistance = 1.1, autopct = '%.2f%%', pctdistance = 0.8, startangle = 90, radius = 1.0, explode = [0, 0, 0, 0, 0, 0.3, 0]) # 制作饼图并分离饼图块
plt.title(label = '产品销售额占比图', fontdict = {'color' : 'black', 'size' : 30}, loc = 'center')  # 添加并设置图表标题
app = xw.App(visible = False)
workbook = app.books.open('饼图.xlsx')
worksheet = workbook.sheets[0]
worksheet.pictures.add(figure, name = '图片1', update = True, left = 200) # 在工作表中插入制作的饼图
workbook.save()
workbook.close()
app.quit()

运行结果:

 

pie()是Matplotlib模块中的函数, 用于制作饼图。

语法格式:

pie(x,explode,labels,colors,autopct,pctdistance,shadow,labeldistance,startangle,radius,counterclock,center,frame)

参数说明
x饼图块的数据系列值
explode一个列表,指定每一个饼图块与圆心的距离
labels每一个饼图块的数据标签内容
colors每一个饼图块的填充颜色
autopct每一个饼图块的百分比数值的格式
pctdistance百分比数值与饼图块中心的距离

shadow

是否为饼图绘制阴影
labeldistance数据标签与饼图块中心的距离
startangle数据的第一个值对应的饼图块在饼图中的初始角度
radius饼图的半径
counterclock是否让饼图逆时针显示
center饼图的中心位置
frame是否显示饼图背后的图框

制作圆环图——饼图.xlsx

为pie()函数适当设置参数wedgeprops的值,就能制作出圆环图。

import pandas as pd
import matplotlib.pyplot as plt
import xlwings as xw
df = pd.read_excel('饼图.xlsx')
figure = plt.figure()
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = df['产品名称']
y = df['销售额']
plt.pie(y, labels = x, autopct = '%.2f%%', pctdistance = 0.85, radius = 1.0, labeldistance = 1.1, wedgeprops = {'width' : 0.3, 'linewidth' : 2, 'edgecolor' : 'white'}) # 用读取的数据制作圆环图
plt.title(label = '产品销售额占比图', fontdict = {'color' : 'black', 'size' : 30}, loc = 'center')
app = xw.App(visible = False)
workbook = app.books.open('饼图.xlsx')
worksheet = workbook.sheets[0]
worksheet.pictures.add(figure, name = '图片1', update = True, left = 200)
workbook.save()
workbook.close()
app.quit()

运行结果:

 

案例05 制作雷达图对比多项指标——雷达图.xlsx

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.read_excel('雷达图.xlsx')  
df = df.set_index('性能评价指标')  # 将数据中的'性能评价指标'列设置为行索引
df = df.T   # 转置数据表格
df.index.name = '品牌'  # 将转置后数据中行索引那一列的名称修改为“品牌”
def plot_radar(data, feature):  # 自定义一个函数用于制作雷达图
    plt.rcParams['font.sans-serif'] = ['SimHei']  
    plt.rcParams['axes.unicode_minus'] = False 
    cols = ['动力性', '燃油经济性', '制动性', '操控稳定性', '行驶平顺性', '通过性', '安全性', '环保性']  # 指定各个品牌要显示的性能评价指标的名称
    colors = ['green', 'blue', 'red', 'yellow']  # 为每个品牌设置图表中的颜色
    angles = np.linspace(0.1 * np.pi, 2.1 * np.pi, len(cols), endpoint = False)  # 根据要显示的指标个数对圆进行等分
    angles = np.concatenate((angles, [angles[0]]))  # 连接刻度线数据
    cols = np.concatenate((cols, [cols[0]]))
    fig = plt.figure(figsize = (8, 8))  # 设置显示图表的窗口大小
    ax = fig.add_subplot(111, polar = True)  # 设置图表在窗口中的显示位置,并设置坐标轴为极坐标体系
    for i, c in enumerate(feature):  
        stats = data.loc[c]   # 获取品牌对应的指标数据
        stats = np.concatenate((stats, [stats[0]]))  # 连接品牌的指标数据
        ax.plot(angles, stats, '-', linewidth = 6, c = colors[i], label = '%s'%(c))   # 制作雷达图
        ax.fill(angles, stats, color = colors[i], alpha = 0.25)   # 为雷达图填充颜色
    ax.legend()   # 为雷达图添加图例
    ax.set_yticklabels([])    # 隐藏坐标轴数据
    ax.set_thetagrids(angles * 180 / np.pi, cols, fontsize = 16)  # 添加并设置数据标签
    plt.show()
    return fig
fig = plot_radar(df, ['A品牌', 'B品牌', 'C品牌', 'D品牌'])  # 调用自定义函数制作雷达图

运行结果:

知识延伸

1、linspace()是Numpy模块中 的函数,用于在指定的区间内返回均价间隔的数字。

语法格式:

linspace(start,stop,num=50,endpoint=True,retstep=False,dtype=None)

参数说明
start区间的起始值
stop区间的终止值
num可选参数,指定生成的样本数。取值必须是非负数,默认值为50
endpoint可选参数,指定终止值stop是否被包含在结果数组中。如果为True,则结果中一定会有终止值stop;如果为False,则结果中一定没有终止值stop
retstep、dtype可选参数,一般不使用

 2、concatenate()函数用于一次完成多个数组的拼接。

语法格式:

concatenate((a1,a2,……),axis=0)

参数:

(a1,a1,……):要拼接的数组

axis=0:拼接的轴向,通常可以省略

3、add_subplot()函数用于在一张画布上划分区域,以绘制多张子图。

4、fill()函数用于为由一组坐标值定义的多边形区域填充颜色。

语法格式:

fill(x,y,color,alpha)

参数:

x,y:多边形各顶点的x坐标值和y坐标值列表

color:填充颜色

alpha:填充颜色的透明度

制作某一品牌性能评价指标雷达图——雷达图.xlsx

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.read_excel('雷达图.xlsx')  
df = df.set_index('性能评价指标') 
df = df.T 
df.index.name = '品牌'  
def plot_radar(data, feature): 
    plt.rcParams['font.sans-serif'] = ['SimHei']  
    plt.rcParams['axes.unicode_minus'] = False  
    cols = ['动力性', '燃油经济性', '制动性', '操控稳定性', '行驶平顺性', '通过性', '安全性', '环保性']  
    colors = ['green', 'blue', 'red', 'yellow']  
    angles = np.linspace(0.1 * np.pi, 2.1 * np.pi, len(cols), endpoint = False)  
    angles = np.concatenate((angles, [angles[0]]))
    cols = np.concatenate((cols, [cols[0]]))
    fig = plt.figure(figsize = (8, 8)) 
    ax = fig.add_subplot(111, polar = True)
    for i, c in enumerate(feature):  
        stats = data.loc[c]  
        stats = np.concatenate((stats, [stats[0]]))  
        ax.plot(angles, stats, '-', linewidth = 6, c = colors[i], label = '%s'%(c)) 
        ax.fill(angles, stats, color = colors[i], alpha = 0.25)  
    ax.legend() 
    ax.set_yticklabels([])  
    ax.set_thetagrids(angles * 180 / np.pi, cols, fontsize = 16)
    plt.show()
    return fig
fig = plot_radar(df, ['A品牌']) # 查看A品牌的性能评价指标情况

运行结果:

案例06 制作温度计图展示工作进度——温度计图.xlsx

import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel('温度计图.xlsx')
sum = 0  # 定义变量sum,用于存储全年的实际销售业绩
for i in range(12):
    sum = df['销售业绩(万元)'][i] + sum  # 累加12个月的实际销售业绩,得到全年的实际销售业绩
goal = df['销售业绩(万元)'][13]  # 获取全年的目标销售业绩
percentage = sum / goal # 计算全年的实际销售业绩占目标销售业绩的百分比
plt.bar(1, 1, color = 'yellow')  # 制作柱形图展示全年的目标销售业绩
plt.bar(1, percentage, color = 'cyan') # 制作柱形图展示全年的实际销售业绩,设置填充颜色为青色
plt.xlim(0, 2)  # 设置图表x轴的取值范围
plt.ylim(0, 1.2) # 设置图表y轴的取值范围
plt.text(1, percentage - 0.01, percentage, ha = 'center', va = 'top', fontdict = {'color' : 'black', 'size' : 20}) # 添加并设置数据标签
plt.show()  # 显示制作的温度计图

运行结果:

 

制作上半年销售业绩的温度计图

import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel('温度计图.xlsx')
sum = 0
for i in range(6):
    sum = df['销售业绩(万元)'][i] + sum  
goal = df['销售业绩(万元)'][13]  
percentage = sum / goal
plt.bar(1, 1, color = 'yellow')
plt.bar(1, percentage, color = 'cyan')
plt.xlim(0, 2)
plt.ylim(0, 1.2)
plt.text(1, percentage - 0.01, percentage, ha = 'center', va = 'top', fontdict = {'color' : 'black', 'size' : 20})
plt.show()

运行结果:

 

使用python制作常用图表 ,这些案例中使用到的数据文件请点击这里 【免费】使用python制作常用图表所要使用的数据.zip资源-CSDN文库

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

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

相关文章

node.js安装及配置教程(win11)

node.js安装及配置教程(win11) 一、下载二、安装三、环境配置 一、下载 官网下载:点击下载 根据自己电脑的位数选择对应的版本即可 网盘下载:点击下载 二、安装 下载完成后,双击运行程序,点击next 勾…

iOS自动化环境搭建(超详细)

1.macOS相关库安装 libimobiledevice > brew install libimobiledevice 使用本机与苹果iOS设备的服务进行通信的库。 ideviceinstaller brew install ideviceinstaller 获取设备udid、安装app、卸载app、获取bundleid carthage > brew install carthage 第三方库…

【Redis】Redis最佳实践/经验总结

【Redis】Redis最佳实践/经验总结 文章目录 【Redis】Redis最佳实践/经验总结1. Redis键值设计1.1 优雅的key结构1.2 拒绝BigKey1.2.1 BigKey的危害1.2.2 如何发现BigKey1.2.3 如何删除BigKey 1.3 恰当的数据类型1.3.1 例11.3.2 例2 2. 批处理优化2.1 Pipeline2.1.1 单个命令的…

ROM和RAM的工作原理(DRAM和DROM)以及DRAM的刷新方法

只读存储器ROM: ROM和RAM都是支持随机存取的存储器,其中SRAM和DRAM均为易失性半导体存储器。而ROM中一旦有了信息,就不能轻易改变,即使掉电也不会丢失,它在计算机系统中是只供读出的存储器。ROM器件有两个显著的优点: 1)结构简单&…

RabbitMQ 消息丢失的场景,如何保证消息不丢失?

一.RabbitMQ消息丢失的三种情况 第一种:生产者弄丢了数据。生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为网络问题啥的,都有可能。 第二种:RabbitMQ 弄丢了数据。MQ还没有持久化自己挂了 第三种…

软考A计划-系统集成项目管理工程师--一般常识-中

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

【深度学习推荐系统 理论篇】一、Wide Deep Learning for Recommender Systems

前言 在搜广推业务做了3年工程,最近终于有空整理下,完整的梳理下自己的知识架构(预计分为理论篇/工程篇) Wide & Deep论文链接:https://arxiv.org/abs/1606.07792 另外王喆老师《深度学习推荐系统》中&#xff…

安装 Nginx 服务

一.安装 Nginx 服务 1.关闭防火墙 开机自启起 安全机制 systemctl stop firewalld systemctl disable firewalld setenforce 0 2、安装依赖包 yum -y install pcre-devel zlib-devel gcc gcc-c make 3、创建运行用户 useradd -M -s /sbin/nologin nginx 4、编译安装 cd …

总结908

学习目标: 月目标:6月(线性代数强化9讲,背诵15篇短文,考研核心词过三遍) 周目标:线性代数强化3讲,英语背3篇文章并回诵,检测 每日必复习(5分钟)…

永磁同步直线电机学习笔记——直线电机的数学模型

永磁直线电机数学模型的建立,是进行后续控制仿真和实验的前提。为了实现永磁同步直线电机的矢量控制,需要把永磁同步直线电机假想成永磁同步旋转电机,借鉴旋转电机的电流分析方式,实现dq轴电流控制的解耦,并且把永磁同…

为什么常见电路板GND与外壳GND之间接一个电阻一个电容

集电极开路是指集电极电路中出现了断路的情况,导致电路无法正常工作。在集电极开路的情况下,电路中的电流无法通过集电极流过,导致电路无法正常放大信号或者控制其他器件的工作。 集电极开路的原因有很多,可能是器件本身的故障、…

C++进阶—继承(下)菱形(虚拟)继承分析虚拟继承存储对象模型

目录 0. 前言 1. 普通多继承下,基类和派生类复制转换底层细节(切片) 2. 多继承下的复杂菱形继承 3. 菱形虚拟继承(虚基类)重点 3.1 菱形非虚拟继承对象存储模型 3.2 菱形虚拟继承对象存储模型 3.3 虚拟继承对象存储模型 3.4 多对象继承关系分析其虚基类&…

Redis原理 - 内存策略

原文首更地址,阅读效果更佳! Redis 本身是一个典型的 key-value 内存存储数据库,因此所有的 key、value 都保存在之前学习过的 Dict 结构中。不过在其 database 结构体中,有两个 Dict :一个用来记录 key-value&#xf…

【计算机网络详解】——软件定义网络SDN(学习笔记)

目录 🕒 1. 概念🕒 2. OpenFlow 协议 🕒 1. 概念 软件定义网络(Software Defined Network,SDN)的概念最早由斯坦福大学的Nick McKeown教授于2009年提出。SDN最初只是学术界讨论的一种新型网络体系结构。SD…

基于JAVA实现的简易学生信息管理系统(附源码)

一、前言 最近在学习JAVA,这几天跟着网上的视频学完基础知识之后,做了一个学生信息管理系统,写的比较普通,没太大亮点,希望可以给初学者一些参考经验,另外,如有不恰当的地方还请各位指正&am…

论文解读:End-to-End Object Detection with Transformers

发表时间:2020 论文地址:https://arxiv.org/pdf/2005.12872.pdf 项目地址:https://github.com/facebookresearch/detr 提出了一种将对象检测视为集合预测问题的新方法。我们的方法简化了检测流程,有效地消除了许多手工设计的组件…

解决跨域问题的两种方案

说明:跨域是指,在A向B发送请求时,如果A和B的协议、端口号和域名有一个不相同。跨域问题是指,浏览器出于安全,会阻止跨域的异步请求(如Ajax),而在分布式的开发环境下,跨域…

ChatGPT在媒体与娱乐领域的沉浸式场景:虚拟主持人和创意助手的新应用探索

第一章:引言 在当今数字化时代,人工智能技术在媒体与娱乐领域的应用日益广泛。ChatGPT作为一种先进的自然语言处理模型,具备强大的对话生成能力和创造力,为媒体与娱乐产业带来了新的创意和可能性。本文将探讨ChatGPT在媒体与娱乐…

学了那么长时间的编程,C语言的各种操作符都搞不懂?点开这里有详细的介绍—>

目录 前言 一、原码、反码、补码的基础概念 1.原码 2.反码 3.补码 二、原码、反码、补码的计算方法 1.原码 2.反码 3.补码 三、算术操作符 四、移位操作符 1. 左移操作符 移位规则: 2. 右移操作符 移位规则: (1) …

MySQL 中Relay Log打满磁盘问题的排查方案

MySQL 中Relay Log打满磁盘问题的排查方案 引言: MySQL Relay Log(中继日志)是MySQL复制过程中的一个重要组件,它用于将主数据库的二进制日志事件传递给从数据库。然而,当中继日志不断增长并最终占满磁盘空间时&…