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

Pandas数据可视化 - Matplotlib、Seaborn、Pandas Plot、Plotly

可视化工具介绍

让我们一起探讨Matplotlib、Seaborn、Pandas Plot和Plotly这四个数据可视化库的优缺点以及各自的适用场景。这有助于你根据不同的需求选择合适的工具。

1. Matplotlib

优点:

  • 功能强大:几乎可以用于绘制任何静态、动画和交互式图表。
  • 高度可定制:提供了细粒度的控制,可以精确调整图表的每个元素。
  • 广泛的社区支持:由于长时间存在和广泛使用,有大量的教程和资源。

缺点:

  • 学习曲线:初学者可能会觉得配置和语法复杂。
  • 样式:默认样式不如一些现代库吸引人,需要手动调整以达到现代美观的视觉效果。

适用场景:

  • 需要对图形进行精细控制的学术论文和专业报告。
  • 对图表外观有特定需求的项目。
2. Seaborn

优点:

  • 美观的默认设置:默认配置比Matplotlib更现代,更吸引人。
  • 简化创建复杂图表的接口:如分布图和矩阵图,适合进行统计数据可视化。
  • 良好的集成:与Pandas数据结构紧密集成,便于处理DataFrame。

缺点:

  • 定制能力有限:虽然比Matplotlib简单,但在高级定制性方面不如Matplotlib灵活。
  • 图表类型有限:主要专注于统计图表,其他类型的图表可能不支持。

适用场景:

  • 快速探索性数据分析。
  • 统计数据可视化,特别是需要展示数据分布和多变量关系的场景。
3. Pandas Plot

优点:

  • 易用性:直接在DataFrame和Series上调用.plot()进行绘图,极大简化了数据可视化的步骤。
  • 足够的图表类型:支持多种基础图表,满足基本分析需求。

缺点:

  • 功能有限:缺少高级图表和定制选项。
  • 依赖Matplotlib:继承了Matplotlib的一些限制,比如样式和交互性。

适用场景:

  • 快速数据探索和初步分析。
  • 需要从Pandas直接生成基本图表的场景。
4. Plotly

优点:

  • 交互性强:支持动态图表和交互操作,如缩放、平移和悬停提示。
  • 美观且现代:默认图表样式现代且具吸引力。
  • 支持Web集成:易于嵌入网页和应用程序。

缺点:

  • 性能:复杂图表在某些设备上可能响应较慢。
  • 学习曲线:功能丰富但需要时间学习如何有效使用。

适用场景:

  • 需要在网页或应用程序中嵌入交互式图表的场景。
  • 数据可视化产品或服务,用户交互是关键考量因素。

总结来说,选择哪个库取决于你的具体需求:Matplotlib适合需要高度定制的场景,Seaborn适用于快速且美观的统计图表展示,Pandas Plot最适合直接从数据框架快速绘图,而Plotly则是在需要强交互性和吸



Matplotlib

Matplotlib 是一个非常强大的Python绘图库,用于创建高质量的图表。它提供了丰富的模块和函数来制作图形和绘图。

常用方法和参数
  1. plt.plot(): 绘制线形图。

    • x, y: 输入数据。
    • color: 线条颜色。
    • label: 图例标签。
    • linewidth: 线条宽度。
    • linestyle: 线条样式。
  2. plt.scatter(): 绘制散点图。

    • x, y: 输入数据。
    • s: 点的大小。
    • color: 点的颜色。
    • marker: 点的形状。
  3. plt.bar(): 绘制条形图。

    • x, height: x 轴数据和高度。
    • width: 条的宽度。
    • color: 条的颜色。
    • label: 图例标签。
  4. plt.hist(): 绘制直方图。

    • x: 输入数据。
    • bins: 分组数量。
    • color: 颜色。
    • alpha: 透明度。
  5. plt.xlabel(), plt.ylabel(): 设置x轴和y轴的标签。

示例:线形图绘制
import matplotlib.pyplot as plt# 数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]# 创建图形
plt.figure(figsize=(10, 5))
plt.plot(x, y, color='blue', linewidth=2, linestyle='-', marker='o', label='Data Line')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.title('Simple Line Plot')
plt.legend()
plt.grid(True)
plt.show()
运行结果解释

这段代码会生成一个简单的线形图,其中x和y数据点用蓝色线条连接。每个数据点用圆形标记。图中还包含了x轴和y轴标签、标题、图例以及网格线。
在这里插入图片描述

常见问题及解决方案

  1. 问题: 图表中的文字重叠。

    • 解决方案: 使用plt.tight_layout()或调整plt.subplots_adjust()参数。
  2. 问题: 图例遮挡了图形的一部分。

    • 解决方案: 使用plt.legend(loc='best')自动找到最佳位置。
  3. 问题: 需要保存图表为图片文件。

    • 解决方案: 使用plt.savefig('filename.png')保存图表。
  4. 问题: 中文显示乱码。

    • 解决方案: 设置Matplotlib的字体参数,使用支持中文的字体。
  5. 问题: 图表的大小不合适。

    • 解决方案: 调整plt.figure(figsize=(width, height))中的尺寸参数。



Seaborn

Seaborn 是专门为统计图表设计的,提供了更多的图表类型和美化功能。它与Pandas数据结构紧密集成,使得数据探索更加方便。

常用方法和参数
  1. sns.lineplot(): 绘制线形图。

    • x, y: 输入数据。
    • hue: 用不同颜色表示不同类别。
    • style: 线条样式,根据分类变化。
    • markers: 每个点的标记。
  2. sns.scatterplot(): 绘制散点图。

    • x, y: 输入数据。
    • hue: 根据分类变化颜色。
    • style: 根据分类变化点的形状。
    • size: 点的大小。
  3. sns.barplot(): 绘制条形图。

    • x, y: 输入数据。
    • hue: 根据分类变化颜色。
    • palette: 颜色方案。
  4. sns.histplot(): 绘制直方图。

    • data: 输入数据。
    • bins: 分组数量。
    • kde: 是否显示核密度估计。
  5. sns.boxplot(): 绘制箱型图。

    • x, y: 输入数据。
    • hue: 根据分类变化颜色。
示例:多变量散点图
import seaborn as sns
import matplotlib.pyplot as plt# 数据
tips = sns.load_dataset('tips')# 创建图形
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="time", style="time", size="size")
plt.title('Scatter Plot with Seaborn')
plt.show()
运行结果解释

这个示例中,我们使用Seaborn加载了内置的“tips”数据集,并创建了一个散点图,其中包含了不同时间段(午餐和晚餐)的总账单和小费信息。颜色和点的样式根据时间变化,点的大小表示桌子上的人数。
在这里插入图片描述

常见问题及解决方案

  1. 问题: Seaborn图形的样式与Matplotlib不一致。

    • 解决方案: 使用sns.set()来设置默认的图形样式,使其与Matplotlib协调。
  2. 问题: 图例太大或位置不合适。

    • 解决方案: 使用plt.legend(loc='upper right', bbox_to_anchor=(1, 1))调整图例位置和大小。
  3. 问题: 密度图显示不平滑。

    • 解决方案: 在sns.kdeplot()中增加bw_adjust参数来调整带宽。
  4. 问题: 柱状图中的柱子重叠。

    • 解决方案: 调整width参数来减少柱子的宽度。
  5. 问题: 要分别对比多个分类变量。

    • 解决方案: 使用sns.pairplot()绘制多变量分布。



现在我们来探讨 Pandas Plot,这是Pandas内置的绘图方法,建立在Matplotlib上。这个功能使得直接从DataFrame和Series数据结构进行图形绘制变得非常简便。

Pandas Plot

Pandas 的 .plot() 方法提供了一种快速绘图的方式,支持多种图表类型,非常适合于初步的数据分析。

常用方法和参数

.plot() 方法提供了多种绘图类型,通过 kind 参数来指定:

  1. kind='line': 绘制线形图。
  2. kind='scatter': 绘制散点图,需要指定 xy
  3. kind='bar'kind='barh': 分别绘制垂直和水平的条形图。
  4. kind='hist': 绘制直方图。
  5. kind='box': 绘制箱型图。
  6. kind='pie': 绘制饼图。

其他常用参数包括:

  • color: 设置颜色。
  • figsize: 图形的大小。
  • title: 图表的标题。
  • legend: 是否显示图例。
  • grid: 是否显示网格。
示例:条形图
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt# 数据
data = pd.DataFrame({'A': np.random.rand(5),'B': np.random.rand(5)
})
# 创建条形图
ax = data.plot(kind='bar', figsize=(10, 5), title="Bar Chart Example")
ax.set_xlabel("Index")
ax.set_ylabel("Value")
ax.legend(title="Legend")
plt.show()
运行结果解释

这段代码生成了一个包含两组数据(A和B)的条形图。每个索引的位置显示了A和B的值,颜色不同以区分两者。
在这里插入图片描述

常见问题及解决方案

  1. 问题: 想要在条形图上显示数值。

    • 解决方案: 在绘图之后,使用ax.text()方法在条形图的每个条上添加文本。
  2. 问题: 想要更改图例的位置。

    • 解决方案: 使用ax.legend(loc='upper right')来指定图例的位置。
  3. 问题: 需要调整轴的刻度标签的角度。

    • 解决方案: 使用plt.xticks(rotation=45)来旋转x轴标签。
  4. 问题: 想要改变图表的风格。

    • 解决方案: 使用plt.style.use('ggplot')来应用不同的样式。
  5. 问题: 图表保存为图片文件。

    • 解决方案: 使用plt.savefig('filename.png')保存图表。



Plotly

Plotly 支持多种图表类型,包括线形图、散点图、条形图、饼图、箱型图等,都可以交互式地操作,如缩放、平移和悬停提示等。

常用方法和参数
  1. px.line(): 创建线形图。

    • data_frame: 数据框架。
    • x, y: x和y轴的数据列。
    • color: 根据分类变化颜色。
    • title: 图表标题。
  2. px.scatter(): 创建散点图。

    • data_frame: 数据框架。
    • x, y: x和y轴的数据列。
    • color: 根据分类变化颜色。
    • size: 点的大小。
    • hover_data: 悬停时显示的额外数据。
  3. px.bar(): 创建条形图。

    • data_frame: 数据框架。
    • x, y: x和y轴的数据列。
    • color: 根据分类变化颜色。
    • title: 图表标题。
  4. px.histogram(): 创建直方图。

    • data_frame: 数据框架。
    • x: x轴的数据列。
    • nbins: 条的数量。
    • color: 颜色。
  5. px.box(): 创建箱型图。

    • data_frame: 数据框架。
    • y: y轴的数据列。
    • color: 根据分类变化颜色。
示例:散点图
import plotly.express as px# 数据
df = px.data.iris()# 创建散点图
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species", size="petal_length", hover_data=['petal_width'])
fig.update_layout(title='Iris Dataset Scatter Plot')
fig.show()
运行结果解释

这个示例使用了内置的Iris花卉数据集来创建一个散点图,其中x轴是花萼宽度,y轴是花萼长度。不同的花种用不同的颜色表示,花瓣长度决定了点的大小,悬停时可以看到花瓣宽度的信息。这个图表是交互式的,可以缩放和移动视图。
在这里插入图片描述

常见问题及解决方案

  1. 问题: 图表加载很慢。

    • 解决方案: 减少数据点的数量或优化数据处理步骤。
  2. 问题: 在网页中嵌入Plotly图表。

    • 解决方案: 使用Plotly的plotly.io.to_html()方法生成HTML代码,然后嵌入网页。
  3. 问题: 要调整图表的布局和样式。

    • 解决方案: 使用fig.update_layout()方法来自定义图表的各种布局属性。
  4. 问题: 想要保存图表为静态图片。

    • 解决方案: 使用fig.write_image('filename.png')保存图表。
  5. 问题: 如何创建动态更新的图表。

    • 解决方案: 使用Plotly Dash框架来创建可交互且动态更新的图表应用。



拓展

  • Bokeh: 专为网页设计的交互式图表库,Bokeh可以快速生成互动图表,非常适合用于构建复杂的可视化数据探索接口。
  • Altair: 一个声明式的统计可视化库,由Vega和Vega-Lite图表的基础上构建,Altair的API设计旨在创建清晰且可重复的图表。

更多问题咨询

Cos机器人

相关文章:

Pandas数据可视化 - Matplotlib、Seaborn、Pandas Plot、Plotly

可视化工具介绍 让我们一起探讨Matplotlib、Seaborn、Pandas Plot和Plotly这四个数据可视化库的优缺点以及各自的适用场景。这有助于你根据不同的需求选择合适的工具。 1. Matplotlib 优点: 功能强大:几乎可以用于绘制任何静态、动画和交互式图表。高度可定制&a…...

人工智能的发展将如何重塑网络安全

微信搜索关注公众号网络研究观,获取更多信息。 人们很容易认为人工智能 (AI) 真正出现是在 2019 年,当时 OpenAI 推出了 ChatGPT 的前身 GPT-2。 但现实却有些不同。人工智能的基础可以追溯到 1950 年,当时数学家艾伦图灵发表了题为“计算机…...

Prometheus+Grafana多方位监控

PrometheusGrafana多方位监控 契机 ⚙ 最近发现火山引擎有托管的Prometheus,可是当前是邀测阶段。并且发现火山云的ECS是自带开机自启的exporter的。刚好需要搭建一套服务器监控,所以研究了一套Prometheus监控,包含linux主机监控nginx监控es监控rabbitM…...

使用Docker安装Redis

大家好,今天给大家分享一下如何使用docker安装Redis,关于docker的安装和常用命令,大家可以参考下面两篇文章,本文中不做过多描述。 Docker在Windows与CentOS上的安装 Docker常用命令 关于Redis的介绍与常用操作可以参考&#x…...

React 之 Effect与事件(event)(八)

Effect(useEffect Hook) 在React中,Effect(或者更具体地说,useEffect Hook)是一个特殊的函数,它允许你在函数组件中执行副作用操作。这些副作用操作可能包括数据获取、手动更改DOM、订阅或取消订…...

网卡的了解

什么是网卡_csdn网卡是什么-CSDN博客 MAC地址:48位串行号(独一无二) 2^48281 474 976 710 656 10位:10亿 5位:1万 15位:10万亿 网卡就是网络适配器 设置--->网络和Internet--->高级网络设置--->硬…...

SSM框架目录

ssm 知识相关目录主要参考尚硅谷 赵伟风老师的视屏,参考链接为 SSM视频_ SSM技术视频_SSM视频教程_尚硅谷 【注意】有些图片为了简便,所以就直接使用了视屏分析。 1、SSM框架相关知识 SpringFramework 基本概念 链接:SpringFramework 基本…...

MATLAB实现杜拉德公式和凯夫公式的计算固液混合料浆临界流速

MATLAB实现杜拉德公式和凯夫公式的计算固液混合料浆临界流速: 杜拉德公式是用来计算非均质固液混合料浆在输送管中的临界速度的公式,具体形式为: uL FL (2gD / (ρ0 - ρ1))^(1/2) 其中: uL:表示料浆的临界速度,…...

Oceanbase all-in-one单机版部署,通过MySQL客户端连接OB租户,DBEAVER 客户端连接MySQL租户。

一.Oceanbase all-in-one单机版部署 1.修改资源限制。 vim /etc/security/limits.conf root soft nofile 655350 root hard nofile 655350 * soft nofile 655350 * hard nofile 655350 * soft stack unlimited * hard stack unlimited * soft nproc 655360 * hard nproc 6553…...

【DevOps】玩转 Google Cloud:项目切换与 K8s 集群访问

本篇博文将带您深入了解 Google Cloud Platform (GCP) 项目管理和 Kubernetes 集群访问的实用技巧。无论您是 GCP 新手还是经验丰富的云端开发者,都能从中获益匪浅。 目录 一、查看 Google Cloud 项目列表 方法一:使用 gcloud 命令行工具 方法二...

大模型_DISC-MedLLM基于Baichuan-13B-Base医疗健康对话

文章目录 DISC-MedLLM介绍概述数据集部署推理流程 DISC-MedLLM 介绍 DISC-MedLLM 是一个专门针对医疗健康对话式场景而设计的医疗领域大模型,由复旦大学数据智能与社会计算实验室 (Fudan-DISC) 开发并开源。 该项目包含下列开源资源: DISC-Med-SFT 数据集 (不包…...

开源模型 Prometheus 2 能够评估其他语言模型,其效果几乎与 GPT-4 相当

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

【Java】HOT100 贪心算法

目录 理论基础 一、简单贪心 LeetCode455:分发饼干 二、中等贪心 2.1 序列问题 LeetCode376:摆动序列 2.2 贪心股票问题 LeetCode121:买卖股票的最佳时机 LeetCode121:买卖股票的最佳时机ii 2.3 两个维度权衡问题 LeetCode135&…...

绝地求生:PUBG杜卡迪联名进入倒计时3天!

大家好,我是闲游盒。 杜卡迪联名已经进入倒计时3天!喜欢的朋友要注意结束时间可千万别错过! 杜卡迪6色车辆 随着五一小长假的结束,本次混沌漫彩通行证也即将结束,本次通行证31级之后没升1级可额外领取1500BP和挑战者纪…...

【论文阅读】Learning Texture Transformer Network for Image Super-Resolution

Learning Texture Transformer Network for Image Super-Resolution 论文地址Abstract1. 简介2.相关工作2.1单图像超分辨率2.2 Reference-based Image Super-Resolution 3. 方法3.1. Texture TransformerLearnable Texture Extractor 可学习的纹理提取器。Relevance Embedding.…...

读字库写FM24C04

/*PCB机板增加读写24C64函数PAST 2017 12 26 08:10 CODE 7382*/ /*按11键进入手动选择&#xff0c;按12键进入参数设定界面 按1存1 2存2 3存3 15存0 16存1236 17读EEPROM显示正确 L1008 13775061792 ******/ #include <reg52.h>…...

boost::asio::ip::tcp::socket set_option

Boost asio 官方教程简介_asio::write-CSDN博客 boost::asio::ip::tcp::socket 是一个用于异步I/O操作的类&#xff0c;它是Boost.Asio库的一部分&#xff0c;专门用于处理TCP套接字。 以下是一个简单的使用 boost::asio::ip::tcp::socket 的例子&#xff0c;这个例子展示了如…...

华为鸿蒙HarmonyOS应用开发者高级认证答案

判断 1只要使用端云一体化的云端资源就需要支付费用&#xff08;错&#xff09; 2所有使用Component修饰的自定义组件都支持onPageShow&#xff0c;onBackPress和onPageHide生命周期函数。&#xff08;错&#xff09; 3 HarmonyOS应用可以兼容OpenHarmony生态&#xff08;对…...

ElasticSearch 与 OpenSearch:拉开性能差距

Elasticsearch 与 OpenSearch&#xff1a;扩大性能差距 对于任何依赖快速、准确搜索数据的组织来说&#xff0c;强大、快速且高效的搜索引擎是至关重要的元素。对于开发人员和架构师来说&#xff0c;选择正确的搜索平台可以极大地影响您的组织提供快速且相关结果的能力。在我们…...

Java构造器

构造器 无参构造器有参构造器构造方法VS成员方法总结 概念&#xff1a;也称构造方法、构造函数。作用是构造出来一个类的实例&#xff0c;确保对象得到初始化。 格式&#xff1a; 权限修饰符 类名(无参/有参){ }。 分类&#xff1a; 带参数&#xff1a;有参构造器不带参数&am…...

TiDB系列之:使用TiUP部署TiDB集群最新版本,同时部署TiCDC的详细步骤

TiDB系列之:使用TiUP部署TiDB集群最新版本,同时部署TiCDC的详细步骤 一、部署TiDB集群二、准备环境三、安装 TiUP四、安装TiUP cluster组件五、初始化包含TiCDC的TiDB集群拓扑文件六、检查和修复集群存在的潜在风险七、查看可以安装的tidb版本八、部署 TiDB 集群:九、查看集…...

【经典算法】LeetCode 72. 编辑距离(Java/C/Python3/Go实现含注释说明,中等)

题目描述 给定两个单词 word1 和 word2&#xff0c;计算出将 word1 转换成 word2 所使用的最少操作数。 你可以对一个单词进行如下三种操作&#xff1a; 插入一个字符删除一个字符替换一个字符 原题&#xff1a;LeetCode 72 思路及实现 方式一&#xff1a;动态规划 思路…...

webstorm 常用插件

安装插件步骤&#xff1a; 打开软件&#xff0c;文件 -- 设置-- 插件 -- 输入插件名称 -- 安装 代码截图: code screenShots 先选中代码&#xff0c;按 ctrl shift alt a&#xff0c;就可截取选中的代码颜色注释: comments highlighter 对注释的文字改变颜色高亮成对符号: h…...

clang:在 Win10 上编译 MIDI 音乐程序(二)

先从 Microsoft C Build Tools - Visual Studio 下载 1.73GB 安装 "Microsoft C Build Tools“ 访问 Swift.org - Download Swift 找到 Windows 10&#xff1a;x86_64 下载 swift-5.10-RELEASE-windows10.exe 大约490MB 建议安装在 D:\Swift\ &#xff0c;安装后大约占…...

【redis】Redis数据类型(三)List类型

目录 List类型介绍特点 List数据结构附&#xff1a;3.2以前的版本(介绍一下压缩列表和双向链表)压缩列表ZipList双向链表LinkedList 常用命令lpush示例 lpushx示例 rpush示例 rpushx示例 LPOP示例 RPOP示例 BLPOP非阻塞行为阻塞行为相同的 key 被多个客户端同时阻塞在 MULTI/EX…...

Java面试题:多线程2

如何停止正在运行的线程 1,使用退出标志,使线程正常退出(run方法中循环对退出标志进行判断) 2,使用stop()方法强行终止(不推荐) 3,调用interrupt()方法中断线程 打断阻塞线程(sleep,wait,join),线程会抛出InterruptedException异常 打断正常的线程,可以根据打断状态来标记…...

T型槽地轨承载力是如何连接整个制造过程的强力桥梁(北重公司设计)

T型槽地轨承载力的定义和计算 T型槽地轨是一种用于工业设备运输和装配的关键组件。它由世界上各行各业的生产商广泛采用&#xff0c;其有效的承载力使其成为连接整个制造过程的强力桥梁。本文将介绍T型槽地轨的承载力以及相关的设计要点和应用。 承载力的定义和计算 承载力是…...

【Numpy】一文向您详细介绍 np.linspace()

【Numpy】一文向您详细介绍 np.linspace() &#x1f308; 欢迎莅临我的个人主页&#x1f448; 这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff1a;985高校的计算机专业人士&#xff0c;热衷于分享技术见…...

VMware虚拟网卡网络适配器出现黄色感叹号

问题发生&#xff1a;VMware在使用Ubuntu的过程中突然卡死&#xff0c;强制关闭开启后就发生了网络无法连接 找到电脑的设备管理发现VMware的适配器出现黄色感叹号 解决方法&#xff1a; 下载软件ccleaner 扫描问题&#xff0c;懒得去找就修复了所有的问题 最后发现适配器…...

论生命价值

我们该如何定义一个人的生命价值&#xff0c;这是一个十分值得我们深思的问题&#xff0c;而谈论到生命的价值&#xff0c;我们先从非人的东西去谈论它的价值&#xff0c;从我们作为人的角度去思考价值&#xff0c;一个东西对我们有用&#xff0c;这个东西能够让我们的主观上的…...

基于Springboot的民航网上订票系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的民航网上订票系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构…...

ubuntu开启message文件

环境&#xff1a;ubuntu 20.04 1、首先需要修改 /etc/rsyslog.d/50-default.conf 文件&#xff1b;源文件中message被注释&#xff0c;如下图&#xff1a; 2、打开注释&#xff1a; 3、重启服务 systemctl restart rsyslog.service 如此即可&#xff01;...

ISIS的基本概念

1.ISIS概述 IS-IS是一种链路状态路由协议&#xff0c;IS-IS与OSPF在许多方面非常相似&#xff0c; 例如运行IS-IS协议的直连设备之间通过发送Hello报文发现彼此&#xff0c;然后建立邻接关系&#xff0c;并交互链路状态信息。 CLNS由以下三个部分组成&#xff1a; CLNP&#xf…...

Vue 工程化开发入门

Vue开发的两种方式&#xff1a; 核心包传统开发模式&#xff1a;基于html/css/js文件&#xff0c;直接引入核心包&#xff0c;开发Vue工程化开发模式&#xff1a;基于构建工具的环境中开发Vue 这里选择Vue cli脚手架 进行开发&#xff0c;搜索教程自行下载。 组件化开发 一个页…...

车牌号识别系统:PyQT5+QT Designe+crnn/PaddleOCR+YOLO+OpenCV矫正算法。

PyQT5&QT Designecrnn/PaddleOCRYOLO传统OpenCV矫正算法。可视化的车牌识别系统项目。 车牌号识别系统 项目绪论1.项目展示2.视频展示3.整体思路 一、PyQT5 和 QT Designer1.简介2.安装3.使用 二、YOLO检测算法三、OpenCV矫正算法四、crnn/PaddleOCR字符识别算法五、QT界面…...

【基于MAX98357的Minimax(百度)长文本语音合成TTS 接入教程】

【基于MAX98357的Minimax&#xff08;百度&#xff09;长文本语音合成TTS 接入教程】 1. 前言2. 先决条件2.1 硬件准备2.2 软件准备2.3 接线 3. 核心代码3.1 驱动实现3.2 代码解析 4. 播放文本5. 结论 视频地址&#xff1a; SeeedXIAO ESP32S3 Sense【基于MAX98357的Minimax&am…...

秋招后端开发面试题 - JVM底层原理

目录 JVM底层原理前言面试题Java 对象的创建过程&#xff1f;什么是指针碰撞&#xff1f;什么是空闲列表&#xff1f;/ 内存分配的两种方式&#xff1f;JVM 里 new 对象时&#xff0c;堆会发生抢占吗&#xff1f;JVM 是怎么设计来保证线程安全的&#xff1f;/ 内存分配并发问题…...

VUE2从入门到精通(一)

**************************************************************************************************************************************************************************** 1、课程概述 【1】前置储备&#xff1a;HTMLCSSJS、WebAPI、Ajax、Node.js 【2】1天&…...

cmake进阶:文件操作之写文件

一. 简介 cmake 提供了 file() 命令可对文件进行一系列操作&#xff0c;譬如读写文件、删除文件、文件重命名、拷贝文件、创建目录等等。 接下来 学习这个功能强大的 file() 命令。 本文学习 CMakeLists.txt语法中写文件操作。 二. cmake进阶&#xff1a;文件操作之写文件…...

ubuntu 安装单节点HBase

下载HBase mkdir -p /home/ellis/HBase/ cd /home/ellis/HBase/ wget https://downloads.apache.org/hbase/2.5.8/hbase-2.5.8-bin.tar.gz tar -xvf hbase-2.5.8-bin.tar.gz安装java jdk sudo apt install openjdk-11-jdksudo vim /etc/profileexport JAVA_HOME/usr/lib/jvm/…...

HTTP 多个版本

了解一下各个版本的HTTP。 上个世纪90年代初期&#xff0c;蒂姆伯纳斯-李&#xff08;Tim Berners-Lee&#xff09;及其 CERN的团队共同努力&#xff0c;制定了互联网的基础&#xff0c;定义了互联网的四个构建模块&#xff1a; 超文本文档格式&#xff08;HTML&#xff09; …...

【DevOps】探索Linux命令行世界:深入了解Shell的力量

目录 一、Linux Shell 详细介绍 1. Shell基础概念 2. Shell的功能特性 3. 常用Shell命令与技巧 4. 高级Shell特性与实践 二、常见的Shell及其比较 1. Bash (Bourne Again SHell) 2. Zsh (Z Shell) 3. Fish (Friendly Interactive SHell) 4. Ksh (Korn SHell) 5. Csh …...

互斥量的使用

文章目录 前言一、互斥量与二进制信号量二、优先级反转与优先级继承三、递归锁 前言 通过学习上一章互斥量理论基础&#xff0c;这一章我们来做一些实验进行验证。 一、互斥量与二进制信号量 互斥量使用和二进制信号量类似 互斥量有优先级继承功能&#xff0c;二进制信号量没有…...

关于面试真题的压迫

1.请描述一下您在使用JavaScript进行DOM操作时&#xff0c;如何提高页面性能和用户体验&#xff1f; 使用事件委托&#xff1a;在父元素上监听事件&#xff0c;而不是为每个子元素都添加事件监听器。这样可以减少事件处理程序的数量&#xff0c;提高性能。 缓存DOM查询&#x…...

1700java进销存管理系统Myeclipse开发sqlserver数据库web结构java编程计算机网页项目

一、源码特点 java web进销存管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为sqlser…...

mysql数据库(排序与分页)

目录 一. 排序数据 1.1 排序规则 1.2 单列排序 1.我们也可以使用列的别名&#xff0c;给别名进行排序 2.列的别名只能在 ODER BY 中使用&#xff0c; 不能在WHERE中使用。 3.强调格式&#xff1a;WHERE 需要在 FROM 后&#xff0c; ORDER BY 之前 1.3 二级排序&…...

Android 实时监听Activity堆栈变化(系统应用)

private val mIActivityManager: IActivityManager ActivityManagerNative.asInterface(ServiceManager.getService(Context.ACTIVITY_SERVICE)) 方式一&#xff08;registerProcessObserver&#xff09; &#xff1a; mIActivityManager.registerProcessObserver(mIProcess…...

双目深度估计原理立体视觉

双目深度估计原理&立体视觉 0. 写在前面1. 双目估计的大致步骤2. 理想双目系统的深度估计公式推导3. 双目标定公式推导4. 极线校正理论推导 0. 写在前面 双目深度估计是通过两个相机的对同一个点的视差来得到给该点的深度。 标准系统的双目深度估计的公式推导需要满足:1)两…...

Redis探索之旅(基础)

目录 今日良言&#xff1a;满怀憧憬&#xff0c;阔步向前 一、基础命令 1.1 通用命令 1.2 五大基本类型的命令 1.2.1 String 1.2.2 Hash 1.2.3 List 1.2.4 Set 1.2.5 Zset 二、过期策略以及单线程模型 2.1 过期策略 2.2 单线程模型 2.3 Redis 效率为什么这么高 三…...

C语言/数据结构——每日一题(链表的中间节点)

一.前言 今天我在LeetCode刷到了一道单链表题&#xff0c;想着和大家分享一下这道题&#xff1a;https://leetcode.cn/problems/middle-of-the-linked-list。废话不多说让我们开始今天的知识分享吧。 二.正文 1.1题目描述 1.2题目分析 这道题有一个非常简便的方法——快慢指…...

一分钟金融科技日报:俄规划与我国协作领域5月份等量平价MLFCIPS汇路优选

1、俄规划将努力在工业和高科技、太空与和平利用核能、人工智能、可再生能源和其他创新领域与我国开展更密切的协作 2、5月中期借贷便利“等量平价”续做承上启下&#xff08;要发国债&#xff0c;市场钱少&#xff0c;所以结束缩量。因为这次国债发行节奏长对流动性影响低&…...

递归-常规问题详解

目录 前言 递归经典题目 子集 77. 组合 46. 全排列 前言 递归在计算机算法中有很重要的地位&#xff0c;它可以解决条件具有重复性的问题。我们在快速排序和归并排序&#xff0c;都是利用了递归去解决问题的。写好一个递归代码不是太容易&#xff0c;很容易造成死循环最终…...

C# .Net8 switch 的用法

在 .net 8中&#xff0c;switch 不需要再和传统的写法一样了&#xff0c;会更加的方便 创建一个 .net 8 控制台项目 switch 的写法没必要和以前一样 namespace SwitchTest {internal class Program{static void Main(string[] args){int day 3;var week day switch{1 > &…...

AIGC文生视频:Sora模型报告总结

作为世界模拟器的视频生成模型 我们探索视频数据生成模型的大规模训练。具体来说&#xff0c;我们在可变持续时间、分辨率和宽高比的视频和图像上联合训练文本条件扩散模型。我们利用对视频和图像潜在代码的时空补丁进行操作的变压器架构。我们最大的模型 Sora 能够生成一分钟…...

docker镜像容器常用命令

常用基础命令1、docker info #查看docker版本等信息 2、docker search jenkins #搜索jenkins镜像 3、docker history nginx #查看镜像中各层内容及大小,每层对应的dockerfile中的一条指令。 4、docker network ls #显示当前主机上的所有网络 5、docker logs nginx …...

RHEL基础之FTP服务搭建

1、什么是FTP&#xff1f;FTP的作用是什么&#xff1f; FTP是File Transfer Protocol的缩写&#xff0c;即文件传输协议。它是一种网络通信协议&#xff0c;主要用于在不同计算机之间传输文件。FTP的作用包括让用户能够连接到远程计算机&#xff0c;查看和下载这些计算机上的文…...