关系数据的可视化
目录
【实验目的】
【实验原理】
【实验环境】
【实验步骤】
一、安装Python所需要的第三方模块
二、实验
【实验总结】
【实验目的】
1.掌握关系数据在大数据中的应用
2.掌握关系数据可视化方法
3. python 程序实现图表
【实验原理】
在传统的观念里面,一般都是致力于寻找一切事情发生的背后的原因。现在要做的是尝试着探索事物的相关关系,而不再关注难以捉摸的因果关系。这种相关性往往不能告诉读者事物为何产生,但是会给读者一个事物正在发生的提醒。关系数据很容易通过数据进行验证的,也可以通过图表呈现,然后引导读者进行更加深入的研究和探讨。分析数据的时候,可以从整体进行观察,或者关注下数据的分布。数据间是否存在重叠或者是否毫不相干?也可以更宽的角度观察各个分布数据的相关关系。其实最重要的一点,就是数据进行可视化后,呈现眼前的图表,它的意义何在。是否给出读者想要的信息还是结果让读者大吃一惊?
就关系数据中的关联性,分布性。进行可视化,有散点图,直方图,密度分布曲线,气泡图,散点矩阵图等等。本次试验主要是直方图,密度图,散点图。直方图是反应数据的密集程1度,是数据分布范围的描述,与茎叶图类似,但是不会具体到某一个值,是一个整体分布的描述。密度图可以了解到数据分布的密度情况。密度图可以了解到数据分布的密度情况。散点图将序列显示为一组点。值由点在图表中的位置表示。散点图通常用于比较跨类别的聚合数据。
【实验环境】
OS:Windows
python:v3.6
【实验步骤】
数据源:
一、安装Python所需要的第三方模块
pip install seaborn
二、实验

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt# 读取数据
df = pd.read_csv(r"crimeRatesByState2005.csv")# 使用jointplot绘制图表并设置颜色
g = sns.jointplot(data=df, x='murder', y='burglary', kind='reg', color='red')# 设置图表标题和轴标签
g.fig.suptitle('Relationship between Murder and Burglary', y=1.02)
g.set_axis_labels('Murder Rate', 'Burglary Rate')# 设置横坐标和纵坐标的最大值
g.ax_joint.set_xlim(0, 13)
g.ax_joint.set_ylim(0, 1600)# 显示图表
plt.show()
2.动态散点图
from pyecharts import options as opts
from pyecharts.charts import Scatter
import pandas as pd# 数据加载和预处理函数
def load_and_process_data(file_path):# 读取数据crime = pd.read_csv(file_path)# 筛选数据,去除 "United States" 和 "District of Columbia"crime_filtered = crime[(crime.state != "United States") & (crime.state != "District of Columbia")]return crime_filtered# 创建 Scatter 图表函数
def create_scatter_plot(data):# 创建 Scatter 图表scatter = (Scatter().add_xaxis(data['murder'].tolist()) # 使用 "murder" 列作为 x 轴.add_yaxis("arrow_sample",data['burglary'].tolist(), # 使用 "burglary" 列作为 y 轴symbol="arrow", # 设置为箭头形状label_opts=opts.LabelOpts(is_show=False), # 不显示标签itemstyle_opts=opts.ItemStyleOpts(color="red") # 设置散点颜色为红色).set_global_opts(title_opts=opts.TitleOpts(title="动态散点图示例"),xaxis_opts=opts.AxisOpts(name="murder", min_=0, max_=10), # 设置 x 轴范围yaxis_opts=opts.AxisOpts(name="burglary") # 设置 y 轴名称))return scatter# 主程序入口
def main():# 加载和处理数据file_path = "crimeRatesByState2005.csv" # 文件路径crime_data = load_and_process_data(file_path)# 创建散点图并渲染scatter_plot = create_scatter_plot(crime_data)scatter_plot.render("scatter_effect.html") # 渲染并保存为 HTML 文件# 执行主程序
if __name__ == "__main__":main()

3、请使用矩阵图表示数据集中七种犯罪类型之间的相关关系(提示:请剔除 United States 和 District of Columbia 两行表示均值和异常的数据),效果如下:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt# 修改文件地址
df = pd.read_csv(r"crimeRatesByState2005.csv")# 剔除 United States 和 District of Columbia 两行数据
df = df[(df['state'] != 'United States') & (df['state'] != 'District of Columbia')]# 选择七种犯罪类型的数据
crime_types = ['murder', 'forcible_rape', 'robbery', 'aggravated_assault', 'burglary', 'larceny_theft','motor_vehicle_theft']
df_crime = df[crime_types]# 设置中文字体为黑体(解决中文显示问题,需确保系统已安装黑体字体)
plt.rcParams['font.sans-serif'] = ['SimHei']# 解决负号显示问题
plt.rcParams['axes.unicode_minus'] = False# 设置图形大小
plt.figure(figsize=(12, 12))# 创建散点图矩阵,去掉 corner 参数以显示对角线以上的散点图,并设置颜色为紫色
g = sns.pairplot(df_crime, plot_kws={'color': 'red'})# 设置图形标题
g.fig.suptitle('七种犯罪类型之间的相关关系', y=1.02)# 调整子图布局
plt.tight_layout()# 显示图形
plt.show()

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA# 读取数据
df = pd.read_csv('crimeRatesByState2005.csv')# 剔除 United States 和 District of Columbia 两行数据
df = df[(df['state'] != 'United States') & (df['state'] != 'District of Columbia')]# 提取犯罪类型数据列
crime_cols = ['murder', 'forcible_rape', 'robbery', 'aggravated_assault', 'burglary', 'larceny_theft','motor_vehicle_theft']
crime_data = df[crime_cols]# 数据标准化
scaler = StandardScaler()
scaled_data = scaler.fit_transform(crime_data)# 进行主成分分析
pca = PCA(n_components=2)
principal_components = pca.fit_transform(scaled_data)# 绘制双标图
fig, ax = plt.subplots(figsize=(10, 8))# 绘制样本点
ax.scatter(principal_components[:, 0], principal_components[:, 1], alpha=0.5)# 绘制变量箭头
loadings = pca.components_.T * np.sqrt(pca.explained_variance_)
for i, feature in enumerate(crime_cols):ax.arrow(0, 0, loadings[i, 0], loadings[i, 1], color='r', alpha=0.5, head_width=0.1)ax.text(loadings[i, 0] * 1.15, loadings[i, 1] * 1.15, feature, color='g', ha='center', va='center')# 设置标题和坐标轴标签
ax.set_title('Biplot of Seven Crime Types')
ax.set_xlabel('Principal Component 1')
ax.set_ylabel('Principal Component 2')# 显示图形
plt.show()
代码解释:
- 数据读取与预处理:使用
pandas
的read_csv
函数读取 CSV 文件,并通过布尔索引过滤掉United States
和District of Columbia
两行数据。 - 提取犯罪类型数据:从数据集中选取七种犯罪类型对应的列。
- 数据标准化:使用
StandardScaler
对数据进行标准化处理,消除量纲影响。 - 主成分分析:使用
PCA
进行主成分分析,将数据降维到二维(n_components=2
)。 - 绘制双标图
- 绘制样本点:将样本投影到前两个主成分上并绘制散点图。
- 绘制变量箭头:根据主成分的载荷绘制变量箭头,箭头的方向和长度表示变量在主成分上的贡献,箭头之间的夹角反映变量之间的相关性。
- 设置标题和坐标轴标签:为图形添加标题和坐标轴标签,增强可读性。
- 显示图形:使用
plt.show()
显示绘制好的图形。
运行结果:
运行代码后,会弹出一个图形窗口,展示七种犯罪类型的双标图。图中包含样本点和变量箭头。样本点的分布展示了不同样本在主成分上的分布情况;变量箭头的方向和长度反映了变量对主成分的贡献,箭头之间的夹角越小,说明变量之间的相关性越强。通过观察双标图,可以直观地探究七种犯罪类型之间的相关关系。
(2)雷达图
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt# 读取数据
df = pd.read_csv('crimeRatesByState2005.csv')# 剔除 United States 和 District of Columbia 两行数据
df = df[(df['state'] != 'United States') & (df['state'] != 'District of Columbia')]# 提取犯罪类型数据列
crime_cols = ['murder', 'forcible_rape', 'robbery', 'aggravated_assault', 'burglary', 'larceny_theft','motor_vehicle_theft']
crime_data = df[crime_cols]# 计算各犯罪类型的均值
mean_values = crime_data.mean().values# 犯罪类型数量
num_vars = len(crime_cols)# 角度
angles = np.linspace(0, 2 * np.pi, num_vars, endpoint=False).tolist()
angles += angles[:1]# 均值数据添加最后一个值以闭合图形
mean_values = np.concatenate((mean_values, [mean_values[0]]))# 创建画布
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))# 绘制雷达图
ax.plot(angles, mean_values, color='b', linewidth=1)
ax.fill(angles, mean_values, color='b', alpha=0.25)# 设置坐标轴标签
ax.set_xticks(angles[:-1])
ax.set_xticklabels(crime_cols)# 设置标题
ax.set_title('Radar Chart of Seven Crime Types', y=1.1)# 显示图形
plt.show()
代码解释:
-
数据读取与预处理:借助
pandas
的read_csv
函数读取 CSV 文件,并且通过布尔索引把United States
和District of Columbia
两行数据过滤掉。 -
提取犯罪类型数据:从数据集中选取七种犯罪类型对应的列。
-
计算均值:计算每种犯罪类型的均值,从而在雷达图里展示整体的情况。
-
确定角度:为了在雷达图上合理分布各个犯罪类型,计算每个犯罪类型对应的角度。
-
绘制雷达图:使用
matplotlib
的plot
函数绘制折线,使用fill
函数对图形进行填充。 -
设置坐标轴标签和标题:为雷达图添加坐标轴标签和标题,增强可读性。
-
显示图形:使用
plt.show()
显示绘制好的图形。
运行结果:
运行代码之后,会弹出一个图形窗口,展示七种犯罪类型的雷达图。在雷达图中,每个坐标轴代表一种犯罪类型,而多边形的顶点则表示该犯罪类型的均值。通过观察多边形的形状和各个顶点的位置,能够直观地对比不同犯罪类型之间的数值大小和相对关系。
(3)热力图
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from scipy.stats import pearsonr
from matplotlib.colors import LinearSegmentedColormapdef create_correlation_matrix():# 读取数据df = pd.read_csv('crimeRatesByState2005.csv')# 剔除 United States 和 District of Columbia 两行数据df = df[(df['state'] != 'United States') & (df['state'] != 'District of Columbia')]# 提取犯罪类型数据列crime_cols = ['murder', 'forcible_rape', 'robbery', 'aggravated_assault', 'burglary', 'larceny_theft','motor_vehicle_theft']crime_data = df[crime_cols]# 数据标准化scaler = StandardScaler()scaled_data = scaler.fit_transform(crime_data)# 计算相关系数矩阵corr_matrix = np.zeros((len(crime_cols), len(crime_cols)))for i in range(len(crime_cols)):for j in range(len(crime_cols)):corr, _ = pearsonr(scaled_data[:, i], scaled_data[:, j])corr_matrix[i, j] = corr# 生成自定义颜色映射,从蓝色到白色再到红色cmap = LinearSegmentedColormap.from_list('custom_cmap', ['blue', 'white','red'])# 绘制矩阵图plt.figure(figsize=(10, 8))plt.imshow(corr_matrix, cmap=cmap, vmin=-1, vmax=1)plt.xticks(range(len(crime_cols)), crime_cols, rotation=45, ha='right')plt.yticks(range(len(crime_cols)), crime_cols)plt.colorbar(label='Correlation Coefficient')plt.title('Correlation Matrix of Crime Types')# 在矩阵图中添加相关系数数值for i in range(len(crime_cols)):for j in range(len(crime_cols)):plt.text(j, i, f'{corr_matrix[i, j]:.2f}', ha='center', va='center', color='black' if abs(corr_matrix[i, j]) < 0.7 else 'white')plt.tight_layout()plt.show()if __name__ == "__main__":create_correlation_matrix()
代码解释:
-
数据读取与预处理:使用
pandas
的read_csv
函数读取 CSV 文件,然后通过布尔索引过滤掉United States
和District of Columbia
两行数据。 -
提取犯罪类型数据:从数据集中选取七种犯罪类型对应的列。
-
绘制散点图矩阵:使用
seaborn
的pairplot
函数绘制散点图矩阵,该矩阵会展示每两种犯罪类型之间的散点图,同时在对角线上显示各犯罪类型的单变量分布(通常是直方图)。 -
设置标题:为整个散点图矩阵添加标题。
-
显示图形:使用
plt.show()
显示绘制好的图形。
运行结果:
运行代码后,会弹出一个图形窗口,展示七种犯罪类型之间的散点图矩阵。通过观察散点图的分布,可以直观地了解不同犯罪类型之间的关系。如果散点呈现出某种线性趋势,说明这两种犯罪类型可能存在一定的相关性;如果散点比较分散,则说明相关性较弱。对角线上的直方图可以展示每种犯罪类型的分布情况。
【实验总结】
本次实验围绕关系数据在大数据中的应用及可视化展开,通过多种Python程序实现的图表,深入探究了犯罪类型数据之间的关系。 在实验过程中,首先利用seaborn模块的jointplot方法,将散点图、密度分布图和直方图结合,对谋杀(murder)和入室盗窃(burglary)两种犯罪类型的关系进行探究。这种可视化方式从多个角度展示了数据的分布和相关性,直观呈现出两种犯罪类型在不同维度下的特征,为进一步分析提供了基础。 接着,运用pyecharts创建动态散点图,不仅展示了谋杀和入室盗窃数据的分布,还通过箭头形状和交互功能,使数据可视化更具动态性和趣味性,增强了对数据的理解和探索性。 针对七种犯罪类型之间的关系,分别使用散点图矩阵、主成分分析双标图、雷达图和热力图进行可视化。散点图矩阵展示了各犯罪类型两两之间的散点分布,帮助观察变量之间的潜在关系。主成分分析双标图通过降维,将高维数据在二维平面上展示,样本点和变量箭头的结合,直观反映了变量对主成分的贡献以及变量之间的相关性。雷达图则以独特的方式,将七种犯罪类型的均值在同一图表中呈现,方便对比不同犯罪类型的数值大小和相对关系。 通过这些实验,掌握了多种关系数据可视化方法,深入理解了不同图表在展示数据关系时的特点和优势。同时,也学会了运用Python中的pandas、seaborn、sklearn、matplotlib和pyecharts等库进行数据处理和图表绘制,提升了数据处理和可视化的实践能力。
相关文章:
关系数据的可视化
目录 【实验目的】 【实验原理】 【实验环境】 【实验步骤】 一、安装Python所需要的第三方模块 二、实验 【实验总结】 【实验目的】 1.掌握关系数据在大数据中的应用 2.掌握关系数据可视化方法 3. python 程序实现图表 【实验原理】 在传统的观念里面࿰…...
MATLAB小试牛刀系列(1)
问题描述 某机床厂生产甲、乙两种机床,每台机床销售后的利润分别为 4 千元与 3 千元。生产甲机床需用 A、B 机器加工,加工时间分别为每台 2h 和每台 1h;生产乙机床需用 A、B、C 三种机器加工,加工时间均为每台 1h。若每天可用于加…...
CUDA、pytorch、配置环境教程合集
1.CUDA卸载 参考: 【环境搭建】卸载&重新安装cudacudnnanacondagpu版pytorch_卸载cuda-CSDN博客 【cuda】cuda安装与卸载升级_升级cuda-CSDN博客 检测代码: https://www.zhihu.com/question/482335084 import torch print(CUDA版本:,torch.vers…...
代码随想录打卡|Day29 动态规划Part02(不同路径、不同路径2、整数拆分、不同的二叉树搜索)
动态规划Part02 不同路径 力扣题目链接 代码随想录链接 视频讲解链接 题目描述: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角…...
Leetcode刷题 | Day49_图论01
一、学习任务 深度优先搜索理论基础深度优先搜索理论基础 | 代码随想录98. 所有可达路径(ACM)797. 所有可能的路径(Leetcode)广度优先搜索理论基础 二、具体题目 1.深度优先搜索理论基础 类似回溯算法,二叉树的前中后序遍历是其在二叉树领域的应用。 代码框架&am…...
if consteval
if consteval 是 C23 引入的新特性,该特性是关于immediate function 的,即consteval function。用于在编译时检查当前是否处于 立即函数上下文(即常量求值环境),并根据结果选择执行不同的代码路径。它是对 std::is_con…...
【iOS】OC源码阅读——alloc源码分析
文章目录 前言基本调试方法allocalloc函数逐步调试空类检查快速路径:默认内存分配慢速路径:自定义内存分配slowpath和fastpath alloc核心操作cls->instanceSize:计算所需内存大小内存字节对齐原则为什么要16字节对齐内存字节对齐总结 其他…...
[JavaScript]对象关联风格与行为委托模式
对象关联. “[[prototype)]的机制就是存在于对象中的一个内部链接,它会引用其它对象” 为何创建原型链(关联)? Object.create()会创建一个新对象,参数对象会作为新对象的__proto__. “我们并不需要类来创建两个对象之间的关系,只需要通过委托来关联对象就足够了.而Object.c…...
在 Ubuntu 24.04 LTS 一台机子上同时部署Dify 1.3.1 和 RAGflow 0.18.0
一、RAGflow 0.18.0 简介 有关 Dify 的简介,可以查看我之前分享的 《在 Ubuntu24.04 LTS 上 Docker Compose 部署 Dify 社区版 1.0.1》文章。RAGFlow是一款基于深度文档理解(deepdoc)构建的开源 RAG引擎。其中,深度文档理解&#…...
小熊派BearPi-Pico H3863(二)环境配置 Ubuntu编译源码与VSCode远程开发指南
BearPi-H3863 Ubuntu编译源码与VSCode远程开发指南 摘要开发环境配置方案选型环境部署实战手册一、基础环境配置1. 镜像准备2. 虚拟机初始化3. 网络异常处理 二、VSCode远程开发配置1. SSH服务验证2. VSCode插件安装3. 远程连接实战4. 项目管理 关键要点总结 摘要 本文针对Bea…...
组装 (DIY) 一台显示器 (4K 屏支持 4 画面分屏 PBP 1080p x4)
首发日期 2025-04-26, 以下为原文内容: 家里的 PC 主机比较多, 如果同时开机, 显示器就不够用了. 因为穷, 窝租住的房间又很小, 放不下很多显示器. 所以, 窝希望买一台支持 分屏 功能的显示器. 最好是 4K 分辨率 (3840x2160) 的屏幕, 然后 4 分屏 (有 4 个 DP 或 HDMI 输入接口…...
SwiftUI 8.List介绍和使用
SwiftUI 的 List 组件用于展示可滚动的内容集合,支持静态或动态数据、交互操作(如点击、滑动删除)、分组、自定义样式等。以下是其详细介绍及使用方法: 一、基本用法 1. 静态列表 直接声明固定内容: struct Content…...
Android Kotlin ViewModel 错误处理:最佳 Toast 提示方案详解
在 Android Kotlin 的 ViewModel 中显示 Toast 提示需要特殊处理,因为 ViewModel 不应该直接持有 Context(避免内存泄漏),且 UI 操作(如 Toast)必须在主线程执行。以下是几种标准解决方案: 方案…...
Vue 集成 wangEditor5 公式编辑器的实现步骤
Vue 集成 wangEditor5 公式编辑器的实现步骤 1. 安装公式依赖库2. 配置公式编辑器插件3. 启用工具栏公式按钮4. 组件模板与事件绑定功能验证与调试注意事项版本兼容性: 1. 安装公式依赖库 安装 KaTeX 或 kityformula:根据项目需求选…...
go语言八股文(五)
1.go的局部变量是分配在栈上还是在堆上 在Go语言中,局部变量的内存分配(栈或堆)由编译器基于逃逸分析(escape analysis)来决定。以下是总结和具体示例: 栈上分配 当局部变量的生命周期严格限定在函数作用…...
C++ 解决一个简单的图论问题 —— 最小生成树(以 Prim 算法为例)
使用 C 解决一个简单的图论问题 —— 最小生成树(以 Prim 算法为例),并且使用 Graphviz 库来生成结果图。 在图论中,“边权之和最小” 是最小生成树(MST)的核心目标,其含义和背景可以从以下几个…...
OpenCV计算机视觉实战(2)——环境搭建与OpenCV简介
OpenCV计算机视觉实战(2)——环境搭建与OpenCV简介 0. 前言1. OpenCV 安装与配置1.1 安装 Python-OpenCV1.2 配置开发环境 2. OpenCV 基础2.1 图像读取与显示2.2 图像保存 3. 摄像头实时捕获小结系列链接 0. 前言 OpenCV (Open Source Computer Vision …...
pgrep和pkill命令详解
pgrep 与 pkill 命令详解 一、基础功能 命令作用核心机制pgrep根据条件查找进程ID (PID)通过进程名、用户、终端等属性筛选进程,输出匹配的PID列表pkill根据条件终止进程向符合条件的进程发送信号(默认发送SIGTERM,可指定其他信号&am…...
Python----卷积神经网络(卷积为什么能识别图像)
一、卷积的概念 卷积是一种数学运算,通常用于信号处理和图像分析。在卷积神经网络中,卷积操作用于提取输入数据(如图像)中的特征。通过将输入数据与卷积核(滤波器)进行卷积运算,CNN能够识别图像…...
web3.js 和 ethers.js 的核心区别
1. 核心设计理念 ---------web3.jsethers.js开发背景以太坊基金会官方维护独立开发者创建,社区驱动架构风格集中式对象 (web3 为核心)模块化设计(分离 Wallet/Provider/Contract)包体积较大(1MB)更轻量(压…...
Atcoder Help 有关Atcoder 的介绍-1 涨分规则
AtCoder 的 Rating 计算系统基于改进的 Elo 算法,主要包含以下核心机制: 一、基础计算公式 Rating 是「表现分(Performance)」的加权平均值减去衰减函数 f ( n ) f(n) f(n),其中: 新用户初始 f ( 1 ) 1200 f(1)1200 f(1)120…...
Android Studio 中使用 SQLite 数据库开发完整指南(Kotlin版本)
文章目录 1. 项目准备1.1 创建新项目1.2 添加必要依赖 2. 数据库设计3. 实现数据库3.1 创建实体类 (Entity)3.2 创建数据访问对象 (DAO)3.3 创建数据库类 4. 创建 Repository5. 创建 ViewModel6. 实现 UI 层6.1 创建笔记列表 Activityactivity_notes_list.xmlNotesListActivity…...
K8S学习笔记01
是什么 高可用,可扩展,自动化,容器化,管理多容器 组件 master API server controller manager scheduler etcd node 对应一台机器 负责运行和托管容器化 kubelet container runtime kube-proxy pod 同一个pod内的容器…...
奥威BI+AI数据分析解决方案
在数字化时代,数据已成为企业决策的核心驱动力。随着大数据、云计算、人工智能等技术的快速发展,企业对数据分析的需求日益迫切。奥威BI(Business Intelligence)与AI(Artificial Intelligence)的结合&#…...
第36课 常用快捷操作——用“鼠标右键”退出当前命令
概述 在AD 20软件中,很多的命令都是可以一直连续下去的,比方说放置一个元器件符号,如果你当中不取消的话,那就可以一直执行下去,放完一个接着放下一个,放完一个接着放下一个…… 想要退出这种连续进行的命…...
用Java模拟打字:深入解析 java.awt.Robot 的键盘控制艺术
作为开发者,我们有时会遇到需要自动化用户界面交互的场景,比如自动化测试、脚本编写、或者制作一些辅助工具。而模拟键盘输入,尤其是“打字”,是这类自动化任务中非常基础且常见的一环。 在 Java 中,实现这一目标的利…...
基于STM32、HAL库的ATSHA204A安全验证及加密芯片驱动程序设计
一、简介: ATSHA204A是Microchip公司生产的一款高性能加密认证芯片,主要特性包括: 基于SHA-256哈希算法的安全认证 4.5KB EEPROM存储空间(可配置为密钥存储、OTP区域等) 唯一的72位序列号 支持I2C和单线接口 工作…...
2.2.1goweb内置的 HTTP 处理程序
net/http 使用源码分析 在 Go 语言的 HTTP 服务器里,HTTP handler 是实现了http.Handler接口的对象。该接口定义如下: type Handler interface {ServeHTTP(ResponseWriter, *Request) }ServeHTTP方法接收两个参数: http.ResponseWriter&am…...
vscode以管理员身份运行报错
1. 问题现象 对vscode设置了管理员权限,但是打开文件时报错或闪退。 2. 解决方法 可以看一下官方网址:[Visual Studio Code on Windows](https://code.visualstudio.com/docs/setup/windows#_unable-to-run-as-admin-when-applocker-is-enabled) 2.1 …...
【Unity】 Dropdown默认选择不选择任何选项
你需要新建一个text文本并将其拖入Placeholder里面,这样你就可以在代码里面设置value-1了,从而实现默认为空...
gem5教程 第七章 如何在 gem 5 中运行我自己的程序
首先,您必须决定是否运行完整系统(FS)或系统调用仿真(SE)。 在 gem5 仿真器中,“完整系统仿真(Full System Simulation, FS)”与“系统调用仿真(System Call Emulation, SE)”是两种不同的仿真模式,各自有其特点和适用场景。下面是对这两种模式的比较: 1. 完整系统仿…...
Java实现基数排序算法
1. 基数排序原理图解 基数排序是一种非比较的排序算法,其核心思想是通过将整数按位数切割成不同的数字,然后按每个位数分别比较。具体步骤如下: 1. 确定最大值:找到数组中的最大值,以确定需要处理的位数。 2. 分配到桶…...
Python项目-支持自然语言处理
研究生组-自然语言处理-第一章节 Python学习,数据挖掘基础 项目地址:pythonbook: 人工智能实战——从 Python 入门到机器学习...
科技助力防灾减灾:卫星电话走进应急救援队伍
在自然灾害与突发事件频发的当下,通信保障已成为应急救援的“生命线”。传统地面通信网络易受极端天气、地形环境等因素制约,而卫星通信技术的突破,尤其是国产天通卫星系统与北斗系统的成熟应用,正推动救援通信体系迈入全天候、无…...
Android adb 安装应用失败(安装次数限制)
adb安装应用失败 前言平台安装失败现象解决 前言 Android Debug Bridge (ADB) 是一个功能强大的命令行工具,用于与 Android 设备通信。 安装 APK 文件: 使用命令 adb install <apk文件路径> 可以将 APK 文件安装到设备上。如果需要覆盖安装&…...
100天精通Python挑战总览 | 零基础到应用实战!
目录 ✨ 为什么发起100天挑战?✨整体学习路线规划第一阶段|基础篇(第1天 - 第50天)第二阶段|应用篇(第51天 - 第100天)Web开发篇爬虫篇数据分析篇AI入门篇 🏆为什么这么划分…...
预训练大模型与元训练大模型在医疗AI项目中的选型对比分析
简要版: 以下是对预训练大模型与元训练大模型(基于元学习/Meta-Learning)在医疗AI项目中选型对比的总结表格: 对比维度预训练大模型元训练大模型(基于元学习)技术基础基于海量通用数据预训练,通过微调适配具体任务(如GPT-4、LLaMA)通过元学习框架训练,支持快速适应新…...
【JavaScript】相等运算符、条件运算符
1、相等运算符 (1)(相等) 相等运算符用来比较两个值是否相等,如果相等会返回true,否则返回false <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"…...
企业用电管理革新利器 —— Acrel-3000 电能管理系统应用解析
电能,以其方便传输、易于转换、便于控制等特性,早已成为广大企事业单位生产、办公的核心能量来源。在 “双碳” 战略目标的宏大背景下,能源结构转型加速推进,电能清洁、高效、零排放的特点愈发凸显。在能源消费侧,“以…...
学生管理系统审计
1.环境搭建 项目地址: https://gitee.com/huang-yk/student-manage 项目下载到本地后IDEA打开,等待项目加载 配置Maven,修改数据库配置文件 然后启动 访问 2.代码审计 1.垂直越权未授权敏感信息泄露 找到拦截器看看对登录做了什么校验 Override public b…...
OpenGL----OpenGL纹理与纹理缓存区
在现代计算机图形学中,纹理(Texture)是一个至关重要的概念。它不仅可以为几何体表面添加细节和真实感,还可以用于实现各种复杂的视觉效果和数据处理。在OpenGL中,纹理的应用范围非常广泛,从基本的颜色映射到高级的阴影映射、环境映射等。本文将深入探讨OpenGL纹理与纹理缓…...
QT开发技术【qcustomplot 曲线与鼠标十字功能】
一、效果 二、代码 #include "obsersingle.h" #include "ui_obsersingle.h" #pragma execution_character_set("utf-8")右键菜单acion回调 // 适应窗口大小 void ObserSingle::RescaleActionFun::fun(ObserSingle *form) {// 自适应y轴数据范围…...
[特殊字符] 大模型后训练指南:从毛坯引擎到智能助手的进化之路 [特殊字符]️
最近看了MIT 6.S191 2025这个讲座感觉讲的挺好的,然后写了一篇总结,大家感兴趣的话可以直接看视频,链接我放到文章最后。 🎯 讲座核心 这个讲座主要讲的是,当我们有了一个基础的大语言模型(就像刚出厂的毛…...
厚铜pcb生产厂家哪家好?
在为您的项目选择厚铜PCB供应商时,技术实力、生产经验与交付能力是决定产品可靠性的关键。随着新能源汽车、工业电源、5G通信等领域对高电流承载、高效散热的需求激增,厚铜PCB(铜厚3oz以上)的工艺门槛不断提升。本文结合行业头部企…...
【重走C++学习之路】22、C++11语法
目录 一、列表初始化 1.1 {}初始化 1.2 std::initializer_list 二、变量类型推导 2.1 auto 2.2 decltype 三、右值引用和移动语义 3.1 左值与左值引用 3.2 右值与右值引用 3.3 左值引用与右值引用比较 3.4 右值引用使用场景和意义 3.5 move 3.6 完美转发和万能引…...
Spring Security授权管理
授权是Spring Security的核心功能之一,是根据用户的权限来控制用户访问资源的过程,拥有资源的访问权限则可正常访问,没有访问的权限时则会被拒绝访问。认证是为了保证用户身份的合法性,而授权则是为了更细粒度地对隐私数据进行划分…...
2025A卷-正整数到Excel编号之间的转换
题目描述 用过 excel 的都知道excel的列编号是这样的: a b c … z aa ab ac … az ba bb bc … yz za zb zc … zz aaa aab aac … 分别代表以下编号: 1 2 3 … 26 27 28 29 … 52 53 54 55 … 676 677 678 679 … 702 703 704 705 … 请写个函数&…...
算法设计与分析(期末试卷)
目录 一、频度计算(15 分) 二、项目工期问题(20 分) 三、TSP 问题的贪心算法(15 分) 四、“秤心如意”(15 分) 五、工作指派问题(20 分) 六、计算复杂度…...
springboot(2.6.13)自定义用户授权管理
1.自定义用户访问控制 a.重写configure(HttpSecurity http)方法 在自定义配置类SecurityConfig中重写 Override protected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers("/").permitAll().antMatchers("/deta…...
JavaWeb:vueaxios
一、简介 什么是vue? 快速入门 <!-- 3.准备视图元素 --><div id"app"><!-- 6.数据渲染 --><h1>{{ msg }}</h1></div><script type"module">// 1.引入vueimport { createApp, ref } from https://unpkg.com/vu…...