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

Matplotlib 绘制基本的图表

# 导入包
import pandas as pd 
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] # 用来显示中文
plt.rcParams['axes.unicode_minus'] = False # 显示负坐标轴# 读取源数据,后续大部分数据基于词文件的数据,需要对金额进行一些简单的处理
file_path = r"D:\data\datasource\data_wuliu.csv"
df1 = pd.read_csv(file_path,parse_dates=['销售时间','交货时间'],encoding='gbk')# 因销售金额单位的问题,对销售金额列进行处理
# replace ',' with '.'  并将格式转换为float;如果是万元 *10000
def data_deal(number):if number.find('万元') !=-1:num1 = float(number[:number.find('万元')].replace(',',''))*10000else: #找到带元的,删除元,replace ',' with '.' num1 = float(number[:number.find('元')].replace(',',''))return num1
df1['销售金额'] = df1['销售金额'].map(data_deal)# 1: 柱形图
# 准备数据,月销售额
df_month = df1.groupby(df1.销售时间.dt.month)['销售金额'].sum().reset_index()# 画图
plt.bar(df_month.销售时间,df_month['销售金额'],label='销售金额')
plt.legend(loc = 'upper right') # 显示图例
plt.xlabel('月份') # 设置行坐标轴
plt.ylabel('销量') # 设置列坐标轴
plt.xticks(df_month.销售时间 , rotation=45) # 设置x刻度倾斜45度
plt.ylim(0,100000000) #设置坐标轴长度plt.title('月度销售额',fontsize=16,fontweight='bold') # 设置图标的标题

# 2: 条形图
plt.bar(x=0, bottom=df_month.销售时间, height=0.5, width=df_month.销售金额, orientation='horizontal',color='GREEN')
plt.xlabel('销量')
plt.ylabel('月份')

# 分组柱形图: 不同月份中 , 拒货,返修,质量合格的产品数量
# 准备数据 
df_pivot = pd.pivot_table(df1,values='订单号',index= df1.销售时间.dt.month,aggfunc = 'count',columns = '货品用户反馈').reset_index()# 画图
bar1 = plt.bar(x=df_pivot.销售时间-0.2, height=df_pivot.拒货, color='blue', width=0.2,label='拒货',alpha = 0.5) # alpha 设置透明度
bar2 = plt.bar(x=df_pivot.销售时间,height = df_pivot.质量合格, color='green',width=0.2,label='质量合格',alpha = 0.5)
bar3 = plt.bar(x=df_pivot.销售时间+0.2,height = df_pivot.返修, color='red',width=0.2,label='返修',alpha = 0.5)
plt.legend()# 添加数据标注, 
plt.bar_label(bar1)
plt.bar_label(bar2)
plt.bar_label(bar3)

# 堆积柱形图: 不同月份拒货,返修,质量合格的产品数量
bar1 = plt.bar(np.arange(6),df_pivot.拒货,color='red',label='拒货',width=0.5,alpha=0.5)
bar2 =plt.bar(np.arange(6),df_pivot.质量合格,color='blue',label='质量合格',bottom=df_pivot.拒货,width=0.5,alpha=0.5)
bar3 =plt.bar(np.arange(6),df_pivot.返修,color='green',label='返修',bottom=df_pivot.质量合格+df_pivot.拒货,width=0.5,alpha=0.5)plt.bar_label(bar1,color='white')
plt.bar_label(bar2,color='white')
plt.bar_label(bar3)
# 设置x轴标签
plt.xticks(np.arange(6),df_pivot.销售时间)
plt.ylim(0,400) # 修改刻度
plt.legend(loc='upper right',ncol=3) # 显示图例

# 5: 堆积条形图
bar1 = plt.bar(x=0,bottom=df_pivot.销售时间,height=0.5, width=df_pivot.拒货, orientation='horizontal',color='GREEN',alpha=0.6)
bar2 = plt.bar(x=df_pivot.拒货,bottom=df_pivot.销售时间,height=0.5, width=df_pivot.质量合格, orientation='horizontal',color='red',alpha=0.6)
bar3 = plt.bar(x=df_pivot.拒货+df_pivot.质量合格,bottom=df_pivot.销售时间,height=0.5, width=df_pivot.返修, orientation='horizontal',color='blue',alpha=0.6)plt.bar_label(bar1)
plt.bar_label(bar2)
plt.bar_label(bar3)

# 6: 饼图: 不同月份拒货,返修的占比,
# 参数 autopct 显示百分比
# explode : 设置炸裂效果,
# startangle=90  : 设置开始画图的角度
# wedgeprops=dict(width=0.4,edgecolor='blue') 设置width 则会生成圆环图,edgecolor='blue' 边线的颜色plt.figure(figsize=(6,6)) # 设置画布的大小
plt.pie(x=df_pivot.拒货,labels=tuple(df_pivot.销售时间), explode=(0,0.2,0,0,0,0),autopct='%.2f%%',startangle=90,wedgeprops=dict(width=0.4,edgecolor='blue'))
# plt.pie(x=df_pivot.返修,radius=0.5)
# plt.pie(x=df_pivot.拒货,radius=0.5,colors=['white','white','white','white','white','white'],startangle=90,)
plt.legend()
# plt.savefig(r'c:/test.png',dpi=500) # dpi 用来设置像素

# 7: 折线图
plt.figure(figsize=(10,6))
plt.plot(df_pivot.销售时间,df_pivot.拒货,color='r',marker='.',ms=5,label='拒货')
plt.plot(df_pivot.销售时间,df_pivot.返修,color='b',marker='.',ms=5,label='返修')# 添加数据标签
for x,y in zip(df_pivot.销售时间,df_pivot.拒货):plt.text(x, y+0.5 ,str(y))
for x,y in zip(df_pivot.销售时间,df_pivot.返修):plt.text(x, y+0.5 ,str(y))
plt.legend() # 显示图例
plt.title('月度趋势图',fontsize=14)# 添加标题

# 当需要在同一个画图上添加多个子图时,方法如下:
# 画布和子图 方法1
fig = plt.figure(figsize=(12,8),dpi=300,facecolor='white') # 设置画布 facecolor 设置画布背景色# 添加图1:
figure1 = fig.add_subplot(221)
plt.plot(df_pivot.销售时间,df_pivot.拒货,marker='.',label='拒货')# 添加图2:柱形图,并添加均值线
figure2 = fig.add_subplot(222)
plt.bar(df_pivot.销售时间, df_pivot.拒货,label='拒货')
mean_num = np.mean(df_pivot.拒货)
plt.axhline(y=mean_num,color='r', linestyle=':')# 添加图3:饼图
figure3 = fig.add_subplot(223)
plt.pie(x=df_pivot.拒货,labels=tuple(df_pivot.销售时间), explode=(0,0.2,0,0,0,0),autopct='%.2f%%',startangle=90)# 添加图4:堆积柱形图
figure4 = fig.add_subplot(224)
bar1 = plt.bar(np.arange(6),df_pivot.拒货,color='red',label='拒货',width=0.5)
bar2 =plt.bar(np.arange(6),df_pivot.质量合格,color='blue',label='质量合格',bottom=df_pivot.拒货,width=0.5)
bar3 =plt.bar(np.arange(6),df_pivot.返修,color='green',label='返修',bottom=df_pivot.质量合格+df_pivot.拒货,width=0.5)
#显示数据标签
plt.bar_label(bar1,color='white')
plt.bar_label(bar2,color='white')
plt.bar_label(bar3)

# 画布和子图 方法2
fig,ax = plt.subplots(2,2,figsize=(12,8))fig1 = ax[0,0]
fig2 = ax[0,1]
fig3 = ax[1,0]
fig4 = ax[1,1]fig1.bar(df_pivot.销售时间,df_pivot.拒货)
fig2.pie(x=df_pivot.拒货,labels=tuple(df_pivot.销售时间))
fig3.plot(df_pivot.销售时间,df_pivot.拒货,marker='.')

# 大图与子区域
# 设置大图
fig = plt.figure() 
left,bottom,width,height = 0.1,0.1,0.8,0.8 # 设置图距离画布边缘的距离
fig1 = fig.add_axes([left,bottom,width,height ])
fig1.bar(df_pivot.销售时间,df_pivot.拒货)
fig1.set_title('拒货分布')# 设置子图设置位置参数
left,bottom,width,height = 0.65,0.65,0.25,0.2
fig2 = fig.add_subplot([left,bottom,width,height ])
fig2.plot(df_pivot.销售时间,df_pivot.拒货,marker='.')
fig2.set_title('趋势图')

# 8: 折线图与柱形图组合图: 不同月份的拒货数量,以及拒货占比
# 准备数据
df_pivot['拒货比'] = df_pivot['拒货']/(df_pivot['拒货']+df_pivot['质量合格']+df_pivot['返修'])fig = plt.figure() # 画布
fig1 = fig.add_subplot(111) # 添加子图
fig1.bar(df_pivot.销售时间,df_pivot.拒货,label ='拒货')
fig1.set_ylim(0,50)
fig1.legend(loc = 'upper left')import matplotlib.ticker as ticker # 用来设置轴标签百分比
fig2=fig1.twinx() # 图2共享图1x轴
fig2.plot(df_pivot.销售时间,df_pivot.拒货比,marker='*', c='r',label='拒货比')
# 设置百分比
pct = ticker.PercentFormatter(1,2) # 0.3设定到30%, 2 代表小数保留2位
fig2.yaxis.set_major_formatter(pct)
fig2.set_ylim(0,0.5)
for x,y in zip(df_pivot.销售时间,df_pivot.拒货比):plt.text(x,y,str(round(y*100,2))+'%')
fig2.legend()

# 9: 散点图
plt.scatter(df1.数量,df1.销售金额,c='b',marker='o',alpha=0.6,linewidths=2)

# 10: 直方图
plt.hist(df1.销售金额, bins=50, edgecolor='w')

#  11: 面积图:先化折线图,再填充plt.plot(df_pivot.销售时间, df_pivot.拒货)
plt.plot(df_pivot.销售时间, df_pivot.质量合格)plt.fill_between(df_pivot.销售时间,0,df_pivot.拒货,facecolor='r',alpha=0.3)
plt.fill_between(df_pivot.销售时间,df_pivot.拒货,df_pivot.质量合格,facecolor='g',alpha=0.3)

# 12: 雷达图 
#  np.pi 是180°#准备数据
df= pd.DataFrame({'name':['A01','A01','A01','A01','A01','A02','A02','A02','A02','A02'],'course':['数学','语文','英语','物理','化学','数学','语文','英语','物理','化学'],'grade':[75,40,79,91,55,57,68,36,89,70]})
df.set_index('name',inplace=True)
query1 = "name=='A01'"
query2 = "name=='A02'"
A01 = df.query(query1)['grade']
# 创建角度
polar_angle = np.linspace(0,2*np.pi,len(A01),endpoint=False)
polar_angle = np.concatenate((polar_angle,[polar_angle[0]])) # 角度数据也需要首尾相连
A01 = np.concatenate((A01,[A01[0]])) # 雷达图需要首尾连接,所以第一个数据需要重复
A02 = df.query(query2)['grade']
A02 = np.concatenate((A02,[A02[0]])) 
course = df.query(query1)['course'] 
course = np.concatenate((course,[course[0]])) 
plt.style.use("ggplot") # 设置画布的样式, 
# 可以使用如下代码查看现有的画图样式,类似于PBI 的风格设置,尝试不同样式的效果,选择合适的。
#print(plt.style.available)fig = plt.figure() # 设置画布
fig1 = fig.add_subplot(111,polar =True)
fig1.plot(polar_angle,A01,'o-',label='A01')
fig1.plot(polar_angle,A02,'o-',label='A02')fig1.fill(polar_angle,A01,'r',alpha=0.25) # 填充颜色
fig1.fill(polar_angle,A02,'b',alpha=0.25)
plt.legend()
fig1.set_thetagrids(polar_angle*180/np.pi,course)

# 13: 瀑布图
# 准备数据
df = pd.DataFrame({'dt':['2020-1-01','2020-1-02','2020-1-03','2020-1-04','2020-1-05','2020-1-06','2020-1-07','2020-1-08'],'amount':[21,18,-10,19,16,-12,13,16]})plt.style.use('ggplot')
# : x 轴先以index 的方式进行,最后替换为日期
xax = np.arange(len(df.amount))
# print(xax)
height = 0 
for i in df.amount.index:x = xax[i]y = df.amount[i]if y >=0:plt.bar(x,y,0.8,align='center',bottom=height,label='盈利',color='r' )else:plt.bar(x,y,0.8,align='center',bottom=height,label='亏损',color='g' )# 调整柱形图的高度height = height + y # 调整x轴的位置x = x + 0.8 
plt.gca().yaxis.grid(True,linestyle='--',alpha=0.25,color='grey')
plt.gca().xaxis.grid(False)
plt.xticks(np.arange(len(df['dt'])),df.dt,rotation=45) # 将x 轴坐标替换为日期

# 14 : 玫瑰图
# create 样本数据
name = list('ABCDEFGHIJKLMNOPQRST')
amount = [805,892,773,744,692,623,605,598,586,585,575,573,562,500,494,469,396,373,357,323]
df1 = pd.DataFrame({'name':name,'amount':amount})
# 数据重新排序后必须重置索引,否则下面的数据拼接就会出错,因为基于的是index 
df = df1.sort_values('amount',ascending=False).reset_index()angle =np.linspace(0,2*np.pi,len(df.amount),endpoint=False)
fig=plt.axes(polar=True) # 实例化极坐标系
# 图.set_theta_direction(-1) # 顺时针为极坐标正方向
fig.set_theta_zero_location('N') # 让0度指向N
color =['b','gold','darkviolet','turquoise','r','g','grey','c','m','y','k','darkorange','lightgreen','plum','tan']# 因为图形需要首位相连,所以需要对数据进行处理
amount = np.concatenate((df.amount,[df.amount[0]]))
angle = np.concatenate((angle,[angle[0]]))
name = np.concatenate((df.name,[df.name[0]]))
plt.bar(angle,amount,width=0.33,color=color)
plt.bar(x=angle, height=130, width=0.33, color='white')  # 挖孔
# 数据标签
for angle, amount, name in zip(angle, amount, name):plt.text(angle+0.03, amount+100, str(name) )
plt.gca().set_axis_off() # 不显示坐标轴

# 添加辅助线及填充
plt.axhline(y=0.2,linewidth = 2, c='g')
plt.axvline(x=0.2,linewidth = 2, c='g')# 画线段
plt.axhline(y=0.5,xmin=0.2,xmax=0.7,linewidth = 2, c='r')# 在指定位置填充,1,1.3 分别代表y轴坐标
plt.axhspan(1,1.3,facecolor='g')
# 在指定位置填充,1,1.3 分别代表x轴坐标
plt.axvspan(2,2.3,facecolor='r',alpha=0.3)# 例子:添加平均线及文本注释
plt.bar(df_pivot.销售时间, df_pivot.拒货,label='拒货',facecolor='g')# add 平均线
mean_num = np.mean(df_pivot.拒货)
plt.axhline(y=mean_num,color='r', linestyle=':') # linestyle 用来设置线形# 添加文本注释
# para:xy:用来指定x,y轴的位置
# shrink: 箭头的长度
# arrowprops: 设置箭头的颜色,样式大小等
plt.annotate("均值线",xy=(9,mean_num+5),arrowprops=dict(facecolor='r', shrink=0.05,headlength=100, width=5, headwidth=10,edgecolor='green',linestyle='--',linewidth=1))

常用的标记marker:

相关文章:

Matplotlib 绘制基本的图表

# 导入包 import pandas as pd import numpy as np import matplotlib.pyplot as plt plt.rcParams[font.sans-serif][SimHei] # 用来显示中文 plt.rcParams[axes.unicode_minus] False # 显示负坐标轴# 读取源数据,后续大部分数据基于词文件的数据,需…...

【JavaScript】异步解决方案的发展历程

✨ 专栏介绍 在现代Web开发中,JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性,还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言,JavaScript具有广泛的应用场景&#x…...

前端性能优化三十四:花裤衩模板引入打包分析工具

测量各个插件和loader所花费的时间 (1). install: yarn add speed-measure-webpack-plugin -D(2). Vue-cli 3.x设置: const SpeedMeasurePlugin require(speed-measure-webpack-plugin) const smp new SpeedMeasurePlugin({outputFormat: human }) // 包裹configureWebpac…...

求职小程序列表基础配置-移动端通用列表模块配置教程(1)

求职小程序列表基础配置-移动端通用列表模块配置教程(1) 移动端通用列表页开发指南 准备工作 注册多八多AIIDE账号: 访问多八多AIIDE官网并注册新账号。完成邮箱和手机号的验证。 创建移动应用: 登录后,在工作台新建一个移动应用。填写应用名称,选择“…...

牛客设计模式

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:…...

从零构建tomcat环境

一、官网构建 1.1 下载 一般来说对于开源软件都有自己的官方网站,并且会附上使用文档以及一些特性和二次构建的方法,那么我们首先的话需要从官网或者tomcat上下载到我们需要的源码包。下载地址:官网、Github。 这里需要声明一下&#xff…...

MySQL递归公用表表达式

😇作者介绍:一个有梦想、有理想、有目标的,且渴望能够学有所成的追梦人。 🎆学习格言:不读书的人,思想就会停止。——狄德罗 ⛪️个人主页:进入博主主页 🗼专栏系列:MySQL知识 &…...

深入 K8s 网络原理(一)- Flannel VXLAN 模式分析

1. 概述 这周集中聊下 K8s 的集群网络原理,我初步考虑分成3个方向: Pod-to-Pod 通信(同节点 or 跨节点),以 Flannel VXLAN 模式为例; Pod/External-to-Service 通信,以 iptables 实现为例&…...

fpga 8段4位数码管verilator模拟

8段4位数码管verilator模拟 seg.v module seg(input wire clk,input wire rst_n,output wire[7:0] SEG,output wire[3:0] SEL );reg[7:0] digit[0:15] {8h3f, 8h06, 8h5b, 8h4f, 8h66, 8h6d, 8h7d,8h07,8h7f,8h6f, 8h77, 8h7c, 8h39, 8h5e, 8h79, 8h71};reg[31:0] cnt 32…...

HttpURLConnection发送各种内容格式

通过java.net.HttpURLConnection类实现http post发送Content-Type为multipart/form-data的请求。 json处理使用com.fasterxml.jackson 图片压缩使用net.coobird.thumbnailator log使用org.slf4j 一些静态变量 private static final Charset charset StandardCharsets.UTF_8;…...

摇杆控制人物移动

摇杆控制人物移动 一、UI搭建二、3d模型搭建三、脚本JoyStickBar.csPlayerController.cs 工程在我资源里名字叫Joystickbar.unitypackage [连接](https://download.csdn.net/download/qq_42194657/12043019?spm1001.2014.3001.5503) 一、UI搭建 JoyStickBar是图片背景 JoySt…...

Jenkins自动化部署之后端

准备工作参考本人另外几篇Jenkins相关的文章 新建任务 添加参数配置 字符串参数:分支名称 多选框:项目名称(Extended Choice Parameter插件必备,插件安装参考我另外的文章) 这个分割规则自定义。只要根据Jenkins…...

Could not resolve com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.28.

1、首先进入阿里云maven仓库,在搜索栏输入无法下载的依赖名称,查询现有版本号,可以看到这里有2.9.34。 2、在build.gradle(Project)的buildscript闭包下替换为阿里云maven仓库: maven { url https://www.jitpack.io } maven { u…...

RK3588平台开发系列讲解(AI 篇)RKNN rknn_query函数详细说明

文章目录 一、查询 SDK 版本二、查询输入输出 tensor 个数三、查询输入 tensor 属性(用于通用 API 接口)四、查询输出 tensor 属性(用于通用 API 接口)五、查询模型推理的逐层耗时六、查询模型推理的总耗时七、查询模型的内存占用情况八、查询模型里用户自定义字符串九、查询原…...

15个主流设计灵感网站,激发你的创作灵感!

即时设计 即时设计是一种强大的云设计工具,已成为许多设计师、产品经理和开发人员的首选工具之一。即时设计用户可以使用内置的工具和功能快速创建和编辑设计,或与其他用户共享和合作。此外,即时设计还有一个丰富的资源社区,为用…...

Matlab:解非线性方程组

1、基于问题求解非线性方程组 例: xoptimvar(x,2); %将x定义为一个二元素优化变量 eq1exp(-exp(-(x(1)x(2))))x(2)*(1x(1)^2); %创建第一个方程作为优化等式表达式 eq2x(1)*cos(x(2))x(2)*sin(x(1))1/2; %创建第二个方程作为优化等式表达式 probe…...

面向 AI,重塑云基础设施、存储、芯片、Serverless……2023亚马逊云科技re:Invent中国行

一年一度亚马逊云科技重要的技术盛会 re:Invent 刚落下帷幕,2023 亚马逊云科技 re:Invent 中国行就将其中重要的信息与内容带给了中国市场和用户。作为全球的云计算巨头,今年亚马逊云科技可以说全面加码 AI,例如发布完整的端到端生成式 AI 技…...

【JDK新特性】JDK和Springboot各版本新特性介绍

目录 参考资料 以下是一些较新版本的JDK的主要新特性介绍: JDK 8: Lambda 表达式:引入了函数式编程的概念,使得代码更简洁、可读性更强。Stream API:提供了一种高效处理集合数据的方式,支持并行处理。默认…...

tomcat剖析:开篇

一、简介 本专栏为解析tomcat的专栏,用于一步步的从构建到执行,再到剖析tomcat的内部构造,然后再加上自己的理解,从0到1去认识我们日常开发中不可或缺的web容器,希望对之后的软件设计能够有所启示。 二、步骤 2.1构…...

华为路由器:DHCP配置

在大型企业网络中,会有大量的主机获取IP地址等网络参数。如果采用手工配置,则工作量大不好管理,若用户擅自更改网络参数,则容易导致IP冲突。 因此使用动态主机配置协议(DHCP)可以减少管理员的工作量&#x…...

(企业 / 公司项目)微服务OpenFeign怎么实现服务间调用?(含面试题)

Feign: 远程调用组件使用步骤,理解上面的图  后台系统中, 微服务和微服务之间的调用可以通过Feign组件来完成.  Feign组件集成了Ribbon负载均衡策略(默认开启的, 使用轮询机制),Hystrix熔断器 (默认关闭的, 需要通过配置文件进行设置开启)  被调用的微服务…...

数据结构:图文详解 树与二叉树(树与二叉树的概念和性质,存储,遍历)

目录 一.树的概念 二.树中重要的概念 三.二叉树的概念 满二叉树 完全二叉树 四.二叉树的性质 五.二叉树的存储 六.二叉树的遍历 前序遍历 中序遍历 后序遍历 一.树的概念 树是一种非线性数据结构,它由节点和边组成。树的每个节点可以有零个或多个子节点…...

DM工作笔记-在windows下对DM7进行库还原恢复

提供了这些备份数据 在windows平台上,将这些备份数据还原到新库中。 首先实例得先停掉: 使用的软件console.exe: 重要步骤:①获取备份;②还原;③恢复 记住DMAP方式这个不要勾选,然后再获取备份…...

STM32软硬件CRC测速对比

硬件CRC配置 以及软硬件CRC速度对比 使用CUBEMX配置默认使用的是CRC32,从库中可以看出这一点 HAL库提供了以下两个计算函数 HAL_CRC_Accumulate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t BufferLength); 这个函数用于在已有的CRC校验结果的基础上累积…...

第九部分 图论

目录 例 相关概念 握手定理 例1 图的度数列 例 无向图的连通性 无向图的连通度 例2 例3 有向图D如图所示,求 A, A2, A3, A4,并回答诸问题: 中间有几章这里没有写,感兴趣可以自己去学,组合数学跟高中差不多&#xff0c…...

如何用java实现对java虚拟机的性能监控?

要使用Java实现对Java虚拟机(JVM)的性能监控,可以使用Java Management Extensions(JMX)来获取和监控JVM的各种指标。以下是一个简单的示例代码,演示如何使用JMX监控JVM的内存使用情况: import …...

电路设计(7)——窗口比较器的multism仿真

1.功能设计 构建一个窗口比较器的电路,在输入电压大于3.5v,小于0.8v时,蜂鸣器报警,输入电压在0.8v到3.5v之间时,不报警。 整体电路如下: 2.设计思路 在输入端,采取电阻分压的方式,输…...

前端已死?探讨人工智能与低代码对前端的影响

文章目录 每日一句正能量前言前端行业究竟是好是坏?数字化转型的当下前端工程师该何去何从? 想要入行前端先认清这三个事实 后记 每日一句正能量 人的结构就是相互支撑,众人的事业需要每个人的参与。 前言 随着人工智能和低代码的崛起&#…...

树莓派,opencv,Picamera2利用舵机云台追踪人脸(PID控制)

一、需要准备的硬件 Raspiberry Pi 4b两个SG90 180度舵机(注意舵机的角度,最好是180度且带限位的,切勿选360度舵机)二自由度舵机云台(如下图)Raspiberry CSI 摄像头 组装后的效果: 二、项目目…...

uniapp中推出当前微信小程序

uni.exitMiniProgram() 通过代码直接退出当前小程序 uni.exitMiniProgram({success: function() {console.log(退出小程序成功);},fail: function(err) {console.log(退出小程序失败, err);} })...

AndroidStudio无法新建aidl文件解决办法

我用的 AS 版本是 Android Studio Giraffe | 2022.3.1 Build #AI-223.8836.35.2231.10406996, built on June 29, 2023 右键新建 aidl 文件, 提示 (AIDL File)Requires setting the buildFeatures.aidl to true in the build file 解决办法 修改 app 的 build.…...

java爬虫(jsoup)如何设置HTTP代理ip爬数据

目录 前言 什么是HTTP代理IP 使用Jsoup设置HTTP代理IP的步骤 1. 导入Jsoup依赖 2. 创建HttpProxy类 3. 设置代理服务器 4. 使用Jsoup进行爬取 结论 前言 在Java中使用Jsoup进行网络爬虫操作时,有时需要使用HTTP代理IP来爬取数据。本文将介绍如何使用Jsoup设…...

ZooKeeper Client API 安装及使用指北

下载 wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.4-beta/zookeeper-3.5.4-beta.tar.gz解压 tar -zxf zookeeper-3.5.4-beta.tar.gz安装 cd zookeeper-3.5.4-beta/src/c/ ./configure make sudo make install到 make 这一步大概率会出现报错:…...

本机ping不通虚拟机

windows下finall shell连不上虚拟机了,之前是可以的,然后ping虚拟机,发现也ping不通,随后到处找问题。 在本地部分,控制面板 ——>网络和Internet——>网络连接 , 可以看到 VMnet1和Vmnet8虽然都是已…...

Linux cfdisk命令

Linux cfdisk命令用于磁盘分区。 cfdisk是用来磁盘分区的程序&#xff0c;它十分类似DOS的fdisk&#xff0c;具有互动式操作界面而非传统fdisk的问答式界面&#xff0c;您可以轻易地利用方向键来操控分区操作。 语法 cfdisk [-avz][-c <柱面数目>-h <磁头数目>-…...

实用学习网站和资料

github:https://github.com/GitHubDaily/GitHubDaily Linux操作手册&#xff1a; GitHub - abarrak/linux-sysops-handbook: Essentials of Linux system administration. 从零开始制作一个操作系统&#xff1a; GitHub - ruiers/os-tutorial-cn: 从零开始编写一个操作系统…...

【已解决】c++qt如何制作翻译供程序调用

本博文源于笔者正在编写的工具需要创建翻译文件&#xff0c;恰好将qt如何进行翻译&#xff0c;从零到结果进行读者查阅&#xff0c;并非常推荐读者进行收藏点赞&#xff0c;因为步步都很清晰&#xff0c;堪称胎教式c制作&#xff0c;而且内容还包括如何部署在windows下。堪称值…...

DPDK单步跟踪(3)-如何利用visual studio 2019和visual gdb来单步调试dpdk

准备工作 因为时间的关系&#xff0c;我想到哪说到哪&#xff0c;可能没那么高的完成度。 但其实有心的人&#xff0c;看到这个标题&#xff0c;就关了本文自己能做了。 why和how to build debug version DPDK,见前两篇。这里我们准备开始。 首先&#xff0c;你有一台linux机…...

Python爬虫---解析---BeautifulSoup

BeautifulSoup简称&#xff1a;bs4 作用&#xff1a;解析和提取数据 1. 安装&#xff1a;pip install bs4 或pip install bs4 -i https://pypi.douban.com/simple&#xff08;使用国内镜像下载&#xff09; 注意&#xff1a;需要安装在python解释器相同的位置,例如&#xf…...

Argument list too long when copying files

for i in /path/to/dir/*; do cp "$i" /path/to/other/dir/; done...

configure

configure 配置软件./configure --prefix$PWD/output CCaarch64-linux-gcc --hostaarch64-linux --enable-shared --enable-staticconfig.sub 文件 这个文件用于确定主机系统的类型&#xff0c;并返回与该系统相关的标识符。它包含一系列 shell 函数&#xff0c;用于检测主机…...

HOJ 项目部署-前端定制 默认勾选显示标签、 在线编辑器主题和字号大小修改、增加一言功能 题目AC后礼花绽放

# 项目拉取地址&#xff1a; https://gitee.com/himitzh0730/hoj.git # 切换到hoj-vue目录执行以下命令 #安装依赖 npm install #运行服务 npm run serve #修改代码后构建项目到dist文件夹&#xff0c;到服务器docker-compose.yml中修改hoj-frontend文件映射即可 npm run build…...

Scikit-Learn线性回归(二)

Scikit-Learn线性回归二:多项式回归 1、多项式回归2、多项式回归的原理3、Scikit-Learn多项式回归3.1、Scikit-Learn多项式回归API1、多项式回归 线性回归研究的是一个自变量与一个因变量之间的回归问题。在实际应用中,并不是所有的情景都符合线性关系,大多数情况都是非线性…...

07 Vue3框架简介

文章目录 一、Vue3简介1. 简介2. 相关网站3. 前端技术对比4. JS前端框架5. Vue核心内容6. 使用方式 二、基础概念1. 创建一个应用2. 变量双向绑定&#xff08;v-model&#xff09;3. 条件控制&#xff08;v-if&#xff09;4. 数组遍历&#xff08;v-for&#xff09;5. 绑定事件…...

前端八股文(js篇)

一.强制类型转换规则 首先需要了解隐式转换所调用的函数。 当程序员显示调用Boolean&#xff08;value&#xff09;,Number&#xff08;value&#xff09;&#xff0c;String&#xff08;value&#xff09;完成的类型转换&#xff0c;叫做显示类型转换。 当通过new Boolean&…...

windows+ubuntu离线安装翻译软件有道词典

背景&#xff1a; 某些情况下&#xff0c;需要在无法连接互联网的电脑上翻译单词&#xff0c;句子以及段落&#xff0c;就需要能离线安装和翻译的翻译软件&#xff0c;具备一定的词库量&#xff0c;目前找到了《有道词典》。 windows 亲测&#xff0c;无法联网的win10中安装…...

DevC++ easyx实现视口编辑,在超过屏幕大小的地图上画点,与解决刮刮乐bug效果中理解C语言指针的意义

继上篇文案&#xff0c; DevC easyx实现地图拖动&#xff0c;超过屏幕大小的巨大地图的局部显示在屏幕的方法——用悬浮窗的原理来的实现一个视口-CSDN博客 实现了大地图拖动&#xff0c;但是当时野心不止&#xff0c;就想着一气能搓啥就继续搓啥&#xff0c;看着地图移动都搓…...

Kali Linux—借助 SET+MSF 进行网络钓鱼、生成木马、获主机shell、权限提升、远程监控、钓鱼邮件等完整渗透测试(一)

社会工程学—世界头号黑客凯文米特尼克在《欺骗的艺术》中曾提到&#xff0c;这是一种通过对受害者心理弱点、本能反应、好奇心、信任、贪婪等心理陷阱进行诸如欺骗、伤害等危害手段。 SET最常用的攻击方法有&#xff1a;用恶意附件对目标进行 E-mail 钓鱼攻击、Java Applet攻…...

时间与时间戳转换及android和ios对时间识别的区别

注意&#xff1a; "2021-05-01 12:53:59.55" 时间对象在 ios 中会出现 NaN-NaN1-NaN 需要将对象格式化为&#xff1a;"2021/05/01 12:53:59.55" 可同时兼容 android 和 ios。 //将某时间转时间戳 /* var time new Date("2021-05-01 12:53:59.55&qu…...

飞天使-k8s知识点7-kubernetes升级

文章目录 验证新版本有没有问题需要安装的版本微微 1.20.6.0kubeadm upgrade plan 验证新版本有没有问题 查看可用版本的包 现有的状态 查看版本 yum list kubeadm --showduplicates |grep 1.20 yum list kubelet --showduplicates |grep 1.20 yum list kubectl --showduplic…...