python数据分析——数据可视化(图形绘制基础)

数据可视化(图形绘制基础)

  • 前言
  • 一、图形绘制基础
    • Matplotlib简介
    • 使用过程
    • sin函数示例
  • 二、常用图形绘制
    • 折线图的绘制
      • plot
      • 示例
    • 散点图的绘制
      • plot
      • 示例
    • 柱状图的绘制
      • bar
      • 示例
    • 箱型图绘制
      • plot.box
      • 示例
    • 饼状图的绘制
      • pie
      • 示例
  • 三、图形绘制的组合情况
    • 多个折线图的组合绘制
      • 示例
    • 折线图和散点图的组合绘制
      • 示例
    • 柱状图与折线图的组合绘制
      • 示例


前言

数据可视化是指利用图形、表格、图表等方式将数据展示出来,使得数据更加清晰、易于理解和分析。图形绘制是数据可视化的基础,通过绘制各种图形呈现数据,可以更加直观地了解数据之间的关系和趋势。

如果画图过程中出现FutureWaring问题

import warning
warnings.filterwarnings('ignore')

针对中文不显示

plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']

在当今数字化时代,数据分析已成为各行各业中不可或缺的一环。Python,作为数据分析领域的明星语言,凭借其强大的数据处理能力和丰富的库资源,正逐渐受到越来越多数据分析师的青睐。而在数据分析的过程中,数据可视化作为直观展示数据特征和规律的重要手段,更是不可或缺。

Python中,有许多专门用于数据可视化的库,其中最为著名的莫过于MatplotlibSeabornMatplotlib作为Python中最早的数据可视化库,提供了丰富的绘图函数和灵活的配置选项,可以满足大部分基本的绘图需求。而Seaborn则是在Matplotlib的基础上,进一步封装和优化,提供了更加美观和高级的绘图接口。

在图形绘制基础方面,我们需要掌握几个核心概念,包括坐标轴、图例、标题、标签等。坐标轴是图表的基础,用于展示数据的分布情况;图例用于区分不同系列的数据;标题和标签则用于说明图表的主题和内容。

接下来,我们通过几个简单的例子来演示如何使用Matplotlib进行基本的图形绘制。

我们使用Matplotlib来绘制一个简单的折线图。假设我们有一组关于某公司股票价格的数据,我们可以通过折线图来展示股票价格的走势。在Matplotlib中,我们可以使用plot()函数来绘制折线图,通过设置x轴和y轴的数据,以及图表的标题、坐标轴标签等参数,就可以生成一个基本的折线图。

当然,除了折线图和箱线图之外,还有许多其他类型的图形可以用于数据可视化,如柱状图、散点图、饼图等。每种图形都有其适用的场景和优缺点,需要根据具体的数据特征和需求来选择合适的图形类型。


一、图形绘制基础

Matplotlib简介

Matplotlib是目前应用最为广泛的python扩展绘图模块库,是Python中最受欢迎的数据可视化软件包之一。Matplotlib支持跨平台运行,能让使用者很轻松地将数据转化为高质量图形,并且提供了多样化的输出格式,常用于绘制2D图形,同时也提供了一部分3D绘图接口。

Matplotlib提供了类似于MATLAB的绘图函数,对于熟悉MATLAB的使用者来说,可以很容易的使用它。Matplotlib通常与NumPypandas扩展包一起使用,最常见的使用方式是根据NumPy库的N维数组类型ndarray来绘制2D图像,使用简单、代码清晰易懂,深受广大技术爱好者的喜爱,是数据分析中不可或缺的重要工具之一。

使用过程

使用pylabpyplot绘图时一般过程为:首先读入数据,然后根据实际需要绘制折线图、散点图、柱状图、饼状图、雷达图或三维曲线和曲面,接下来设置轴和图形属性,最后显示或保存绘图结果。
在这里插入图片描述

sin函数示例

【例7.1】请利用python绘制正弦函数曲线。

关键技术:采用MatplotlibPyplot模块的plot函数绘制曲线图。

from matplotlib import pyplot as plt
import numpy as np
import pandas as pd
import math
plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']
x = np.arange(0,math.pi*2,0.05)
y = np.sin(x)
plt.plot(x,y)
plt.xlabel("angle")
plt.ylabel("sine")
plt.title("sine curve")
plt.show()

在这里插入图片描述
在这里插入图片描述

二、常用图形绘制

折线图的绘制

折线图是最基本的图表类型,是用点和点之间连线的上升或下降表示指标的连续变化趋势。折线图反映了一段时间内事物连续的动态变化规律,适用于描述一个变量随另一个变量变化的趋势,通常用于绘制连续数据,适合数据点较多的情况。

plot

matplotlib是一个用于绘制图形的Python库,其中的plot函数用于绘制线条图。下面是matplotlibplot函数的详细解释:

plot(x, y, label, linestyle, color, linewidth, marker)

参数说明:

  • x:表示x轴上的数据序列,可以是一个列表、数组或Series类型的数据,也可以是一个数字,此时表示生成从0到该数字的等间隔的数据序列。
  • y:表示y轴上的数据序列,要求与x轴上的数据序列长度相同。
  • label:给绘制的线条指定一个标签,可以在绘制图例时使用。
  • linestyle:线条的样式,可以是实线(‘solid’)、虚线(‘dashed’)、点线(‘dotted’)等,默认为实线。
  • color:线条的颜色,可以是一个关键字字符串(如’red’、'blue’等),也可以是一个RGB元组表示的颜色(如(0.1, 0.2, 0.3)),默认为蓝色。
  • linewidth:线条的宽度,可以是一个数字,默认为1。
  • marker:线条上的标记点的样式,可以是一个关键字字符串(如’+'、‘o’等),也可以是一个标记字符(如’x’、's’等),默认为没有标记点。

使用plot函数可以绘制不同样式的线条图,可以通过设置不同的参数来定制线条的样式、颜色、宽度、标记点等。在绘制完所有的线条后,可以使用plt.legend()函数来添加图例,使得不同线条对应的标签在图中显示出来。

示例

【例7.4】请根据给定的两组数据xy,分别代表某城镇居民消费水平增长率和对应的年份,利用Python绘制城镇居民消费水平增长率折线图。

关键技术:利用matplotlib包的plot方法进行折线图的绘制。

y = [8.07,6.42,9.79,8.20,7.69,6.02,7.86,6.93,6.84,9.04,10.06]
x= [2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020]
plt.plot(x,y,'g',lw = 4,label = '城镇居民消费水平增长率')
plt.legend(loc = 5)
plt.grid(True)
plt.xlabel("年")
plt.ylabel('增长率')
plt.title("我国历年城镇消费水平增长率")

在这里插入图片描述
在这里插入图片描述

散点图的绘制

散点图是以直角坐标系中各点的密集程度和变化趋势来表示两种现象间的相关关系,常用于显示和比较数值。当要在不考虑时间的情况下比较大量数据点时,使用散点图比较数据方便直观。散点图将序列显示为一组点,其中每个散点值都由该点在图表中的坐标位置表示。对于不同类别的点,则由图表中不同形状或颜色的标记符表示。同时,也可以设置标记符的颜色或大小。

plot

matplotlib是一个用于绘制图形的Python库,其中的plot函数用于绘制线条图。

下面是matplotlibplot函数的详细解释:

plot(x, y, label, linestyle, color, linewidth, marker)

参数说明:

  • x:表示x轴上的数据序列,可以是一个列表、数组或Series类型的数据,也可以是一个数字,此时表示生成从0到该数字的等间隔的数据序列。
  • y:表示y轴上的数据序列,要求与x轴上的数据序列长度相同。
  • label:给绘制的线条指定一个标签,可以在绘制图例时使用。
  • linestyle:线条的样式,可以是实线(‘solid’)、虚线(‘dashed’)、点线(‘dotted’)等,默认为实线。
  • color:线条的颜色,可以是一个关键字字符串(如’red’、'blue’等),也可以是一个RGB元组表示的颜色(如(0.1, 0.2, 0.3)),默认为蓝色。
  • linewidth:线条的宽度,可以是一个数字,默认为1。
  • marker:线条上的标记点的样式,可以是一个关键字字符串(如’+'、‘o’等),也可以是一个标记字符(如’x’、's’等),默认为没有标记点。

使用plot函数可以绘制不同样式的线条图,可以通过设置不同的参数来定制线条的样式、颜色、宽度、标记点等。在绘制完所有的线条后,可以使用plt.legend()函数来添加图例,使得不同线条对应的标签在图中显示出来。

示例

【例7.5】对于给定的两个市场收益率的波动情况数据xy,请利用Python绘制散点图来反映两个市场的波动率情况。

关键技术:利用matplotlib包的plot函数进行散点图的绘制,与绘制折线图相比,绘制散点图只用到一组数据,而绘制折线图需要用到两组对应的数据。

x = np.random.randint(0,5,10)
y = np.random.randint(0,5,10)
plt.figure(figsize = (10,10))
plt.subplot(121)
plt.ylim((-5,5))
plt.plot(x,'ro',label = '第一组')
plt.grid(True)
plt.title('第一组市场波动情况')
plt.subplot(122)
plt.ylim((-5,5))
plt.plot(y,'b*',label = '第二组')
plt.grid(True)
plt.title('第二组市场波动情况')
plt.savefig('test',dpi = 600)
plt.show()

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

柱状图的绘制

bar

matplotlibbar函数用于绘制柱状图,它是一个非常常用的数据可视化工具。

下面是bar函数的详细介绍:

语法:

matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, align='center', data=None, **kwargs)

参数:

  • x:柱状图的x轴位置,可以是一个数值或者一个数组,表示每个柱状图的位置。
  • height:柱状图的高度,可以是一个数值或者一个数组,表示每个柱状图的高度。
  • width:柱状图的宽度,默认值为0.8。
  • bottom:柱状图的底部位置,默认为None,表示从0开始绘制柱状图。
  • align:柱状图的对齐方式,默认为’center’,表示柱状图的中心与给定位置对齐。
  • data:传入一个DataFrame或者一个类似结构的数据集,xheight参数可以直接从data中获取。

其他常用参数:

  • color:柱状图的颜色,可以是一个字符串,表示柱状图颜色的名称,也可以是一个列表,表示每个柱状图的颜色。
  • edgecolor:柱状图的边框颜色,默认为None,表示不显示边框。
  • label:柱状图的标签,可以在图例中显示。
  • tick_label:柱状图的刻度标签,可以在x轴上显示。
  • alpha:柱状图的透明度,取值范围为0到1。

用例:

import matplotlib.pyplot as plt
import numpy as npx = np.arange(5)
y = [1, 4, 3, 2, 5]
plt.bar(x, y, color='blue', align='center')plt.xlabel('x')
plt.ylabel('y')
plt.title('Bar Chart')
plt.show()

此代码将绘制一个简单的柱状图,x轴是0到4,y轴是给定的数组y的值。柱状图的颜色为蓝色,对齐方式为居中。在图像的x轴标签、y轴标签和标题上显示对应的文字。最后调用plt.show()来显示图像。

以上提供了matplotlibbar函数的详细介绍和一个简单的用例。通过使用不同的参数和组合,您可以根据自己的需求绘制出各种类型的柱状图。

示例

【例7.7】对于给定的2020年9月至2021年3月期间某基金产品发行数量的数据,该数据以字典形式存储,形式如下所示。请利用Python将其以柱状图的形式绘制出来。

{'202009': 2324,'202010': 2814,'202011': 2525,'202012':2946,'202101': 3019,'202102': 2087,'202103': 3398}

关键技术:可以利用Python的matplotlib包的bar方法进行柱状图绘制。

dict = {'202009': 2324,'202010': 2814,'202011': 2525,'202012': 2946,'202101': 3019,'202102': 2087,'202103': 3398}
plt.figure (figsize= (9,5) )
plt.bar (dict.keys (),dict.values (),width=0.3, align='center' , label=' funds')
plt.grid (True)
plt.legend (loc=1)
plt.xlabel ('月')
plt.ylabel('发行数量')
plt.title('基金产品发行数量')
plt.savefig ( 'test', dpi=600)

在这里插入图片描述

在这里插入图片描述

箱型图绘制

plot.box

plot.boxmatplotlib库中的一个函数,用于绘制箱线图。箱线图是一种统计图表,用于展示一组数据的分布情况。它显示了数据的中位数、上下四分位数、最小值和最大值,以及异常值。

箱线图可以帮助我们了解数据的偏态、离散度和异常值情况。

plot.box的基本语法为:

matplotlib.pyplot.boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None, patch_artist=None, bootstrap=None, usermedians=None, conf_intervals=None, meanline=False, showmeans=False, showcaps=True, showbox=True, showfliers=True, boxprops=None, labels=None, flierprops=None, medianprops=None, meanprops=None, capprops=None, whiskerprops=None, manage_xticks=True, autorange=False, zorder=None)

参数说明:

  • x:要绘制箱线图的数据,可以是一个一维数组或一个二维数组。
  • notch:箱线图的缺口,默认为None
  • sym:异常值的标记,默认为None
  • vert:箱线图的方向,默认为True(垂直方向),设置为False可以绘制水平方向的箱线图。
  • whis:决定绘制箱线图上下边界的位置,默认为1.5
  • boxprops:箱线图的属性设置,包括颜色、线宽等,默认为None
  • flierprops:异常值的属性设置,默认为None
  • medianprops:中位数的属性设置,默认为None
  • meanprops:均值的属性设置,默认为None
  • capprops:边界线的属性设置,默认为None
  • whiskerpropswhisker的属性设置,默认为None
  • manage_xticks:是否自动管理x轴的刻度,默认为True
  • autorange:是否自动确定y轴的范围,默认为False
  • zorder:图层顺序,默认为None

除了以上参数,plot.box还可以接受一些其他参数,用于设置标题、坐标轴标签、图例等。详细的参数说明可以参考matplotlib官方文档。

下面是一个简单的示例代码,演示如何使用plot.box绘制箱线图:

import matplotlib.pyplot as plt
import numpy as np# 生成一组随机数据
np.random.seed(123)
data = np.random.normal(0, 1, 100)# 绘制箱线图
plt.boxplot(data)# 添加标题和坐标轴标签
plt.title('Box Plot')
plt.xlabel('Data')# 显示图形
plt.show()

运行以上代码,会生成一个简单的箱线图,显示了随机数据的中位数、上下四分位数、最小值和最大值,以及异常值(如果有)。

除了上述的示例代码,plot.box还可以接受一维或二维的数据作为参数,用于绘制多组数据的箱线图。可以通过设置参数来修改箱线图的样式,如颜色、线宽等。此外,还可以使用matplotlib的其他函数和方法来进一步自定义绘图。

示例

【例7.8】下面给定的数据是某公司产品在各个国家用户的消费分布图,请根据以下数据利用Python绘制箱型图。

'Japan': [1200, 1300, 1500, 1400, 1600, 1600, 1800, 1800, 1900, 2400],
'USA': [1200, 1350, 1400, 1500, 1660, 1800, 1700, 1900, 2100, 2000],
'Russia': [1100, 1200, 1200, 1400, 1300, 1600, 1700, 1900, 1900, 1800],
"Korean": [1200, 1100, 1000, 1300, 1200, 1500, 1600, 1700, 1800, 1800]

关键技术:可以利用Python的plot.box绘制箱型图。

data = {'Japan': [1200,1300,1500,1400,1600,1600,1800,1800,1900,2400],
'USA': [1200, 1350, 1400, 1500, 1660, 1800, 1700, 1900, 2100, 2000],
'Russia': [1100, 1200, 1200, 1400, 1300, 1600, 1700, 1900, 1900, 1800],
"Korean": [1200, 1100, 1000, 1300, 1200, 1500, 1600, 1700, 1800, 1800]}
df = pd.DataFrame(data)
df.plot.box(title  = "某公司产品各个国家用户消费分布图")
plt.grid(linestyle = '--',alpha = 0.3)
plt.savefig('test',dpi = 600)
plt.show()

在这里插入图片描述

在这里插入图片描述

饼状图的绘制

pie

matplotlib中,可以使用pie函数绘制饼图。饼图用于展示各类别的占比关系,适用于数据的相对比较。下面是使用pie函数绘制饼图的详细步骤和参数说明。

导入库:

import matplotlib.pyplot as plt

准备数据:

labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]

绘制饼图:

plt.pie(sizes, labels=labels)
plt.show()

绘制饼图时,主要使用了两个参数:

  • sizes:代表各类别的占比值,要求是一个一维数组或列表。
  • labels:代表各类别的标签,要求是一个与sizes长度相同的一维数组或列表。可选参数,默认值为None。

除此之外,还可以使用其他一些参数进行饼图的个性化设置,比如:

  • autopct:控制饼图中百分比的显示方式。可选参数,默认值为None。可以使用字符串格式控制显示,例如'%.1f%%'表示保留一位小数的百分比。
  • explode:控制各类别之间的间隔。可选参数,默认值为None。可以使用一维数组或列表来指定各类别的偏移量,例如[0, 0.1, 0, 0]表示第二个类别偏移0.1。
  • colors:控制各类别的颜色。可选参数,默认值为None。可以使用一维数组或列表来指定颜色,例如['red', 'blue', 'green', 'yellow']
  • startangle:控制饼图的起始角度,逆时针方向。可选参数,默认值为0。
  • shadow:控制是否显示阴影。可选参数,默认值为False。

下面是一个综合使用了上述参数的例子:

labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]
explode = [0, 0.1, 0, 0]
colors = ['red', 'blue', 'green', 'yellow']plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%.1f%%', startangle=90, shadow=True)
plt.axis('equal')
plt.show()

通过调整上述参数,可以根据具体需求绘制出个性化的饼图。

示例

【例7.9】某公司有A、B、C、D、E五种商品,每种商品占有的市场份额分别为15%、30%、30%、10%和15%,请利用Python的饼状图绘制上述数据的分布图。

关键技术:可以利用Python的matplotlib包中的pie函数绘制饼状图。

import pandas as pd
import matplotlib.pyplot as plt
labels = ['A', 'B', 'C', 'D', 'E']
x = [15,30,30,10,15]
plt.pie(x, labels=labels)
plt.savefig('test',dpi=600)
plt.show ()

在这里插入图片描述

在这里插入图片描述

三、图形绘制的组合情况

多个折线图的组合绘制

示例

【例7.10】给定时间范围在2009年至2017年间两种商品的市场销售价格增长率数据集data1, data2。请利用Python的折线图将两种商品价格的增长率信息进行绘制,反映到图上。

关键技术:可以利用matplotlib包的plot函数进行多折线图的绘制。

data1 = np.random.randint(0,20,9)
data2 = np.random.randint(0,20,9)
year=[2009,2010,2011,2012,2013,2014,2015,2016,2017]
plt.plot(year,data1,lw=3,label='sales price increase rate')
plt.plot(year,data2,'r--',lw=3,label='construction costs increase rate')
plt.legend(loc=0)
plt.grid(True)
plt.xlabel('Year')
plt.ylabel('Percentage')
plt.title('sales price/construction costs increase rates')

在这里插入图片描述

在这里插入图片描述

折线图和散点图的组合绘制

示例

【例7.11】给定某只股票从2021年12月31日到2022年1月11日的收盘价格,请利用Python的折线图和散点图组合图形式进行数据的绘制。

关键技术:可以利用Python的plot函数进行绘制。

data = np.random.randint(10,20,7)
date = ['12/31/2021','04/01/2022','05/01/2022','06/01/2022','07/01/2022','10/01/2022','11/01/2022']
plt.figure(figsize=(7,4))
plt.plot(date,data,'b',label='stock xxxxxx')
plt.plot(date,data,'ro')
plt.grid(True)
plt.legend(loc=0)
plt.xlabel('日期')
plt.ylabel('收盘价')
plt.title('close price of stock xxxxx')

在这里插入图片描述

在这里插入图片描述

柱状图与折线图的组合绘制

示例

【例7.11】 【例7.12】已知给定的某股票在2021年12月14日至2021年12月28日的收盘价格和交易量,请利用Python绘制双坐标轴图,其中左坐标轴反映交易量,以柱状图表示;右坐标轴反映成交价格,以折线图表示。

close=[22.23,22.59,22.36,22.47,22.85,22.79,22.76,23.82,23.97,
5.38,25.5]
date=['12/14/2021','12/15/2021','12/16/2021','12/17/2021','12/21/2021','12/22/2021','12/23/2021','12/24/2021','12/25/2021','12/26/2021','12/21/2021']
vol=[34711261,35634241,40123423,39043212,45983023,429012,37584231,30029832,4039221,5023281,5598231]
fig,ax1=plt.subplots()
plt.bar(date,vol,width=0.3,label='交易量')
plt.legend(loc=1)
plt.xlabel('日 期')
plt.ylabel('交易量')
plt.title('stock xxxxxx')
plt.xticks(rotation = 60)
ax2=ax1.twinx()
plt.plot(close,'r',lw=2,label='收盘价')
plt.grid(True)
plt.legend(loc=8)
plt.ylabel('收盘价')
plt.savefig('test', dpi=600 , pad_inches='tight')

在这里插入图片描述

.png)


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

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

相关文章

MacOS docker 安装与配置

orbstack 安装 官网: https://orbstack.dev 下载链接:Download OrbStack Fast, light, simple Docker Desktop alternative 选择是Apple M系列处理器, 或 Intel系列处理器 到这里就安装好了Orbstack软件,下面开始配置docker 下…

Python-VBA函数之旅-vars函数

目录 一、vars函数的常见应用场景 二、vars函数使用注意事项 三、如何用好vars函数? 1、vars函数: 1-1、Python: 1-2、VBA: 2、推荐阅读: 个人主页:https://myelsa1024.blog.csdn.net/ 一、vars函数…

MySQL旧表做分区流程

1. 为什么做分区 数据库分区是将数据库中的数据划分成独立的部分,每个部分称为一个分区。分区可以根据特定的标准,如范围、列表或哈希值,将数据分隔到不同的物理存储位置中。数据库表分区可以在多种情况下提供显著的好处。以下是一些应该考虑…

查询中Split函数不管用?试试这个自定义函数!

hi,大家好! 我们在实际的应用中会有这样的一些情况,获取的一些数据是由一些特殊字符连接起来的,比如:XXX汽车\SUV\EV\纯电。类似这样的数据,我们在应用过程中,需要将数据拆开,如果用…

是德keysight N1911A与N1913A单通道功率计

Agilent N1911A和N1912A P系列单通道和双通道功率计以及N192XA传感器可提供宽带宽和高性能测量,这是确保用户的产品符合其功率规范所需要的。 P系列功率计具有30MHz视频带宽和每秒100M/s 的持续采样率,可进行快速、准确、可重复的功率测量。当这些功…

uview-plus在uniapp项目中单选和复选框不显示问题

在我的uniapp小程序项目中,我使用了vue3ts的组合,ui组件库使用了uview-plus这个组件库,但是在使用个别组件的时候,没有显示出效果,就像单选或者复选框,官方效果: 但是当我用到自己项目中的时候&…

【全开源】Java同城信息付费系统家政服务房屋租赁房屋买卖房屋装修信息发布平台小程序APP公众号源码

同城信息付费系统:家政服务的新篇章 在快节奏的现代生活中,家政服务已成为许多家庭不可或缺的一部分。然而,如何快速、准确地找到合适、可靠的家政服务人员,一直是困扰着许多家庭的问题。为了解决这一难题,我们推出了…

一图流解释Java中线程状态的转换

目录 一.Java中的几大线程状态 二.线程之间的相互转换 ▐ NEW --> RUNNABLE ▐ RUNNABLE <--> WAITING ▐ RUNNABLE <--> Timed Waiting ▐ RUNNABLE<--> BLOCKED ▐ RUNNABLE<-->TERMINATED 一.Java中的几大线程状态 简单来说线程可以处于…

PCIE协议-2-事务层规范-Message Request Rules-Vendor_Defined Messages

2.2.8.6 厂商定义消息 厂商定义消息允许扩展PCI Express消息功能&#xff0c;可以作为PCI Express规范的一般扩展&#xff0c;也可以是厂商特定的扩展。本节通用地定义了与这些消息相关的规则。 厂商定义消息&#xff08;见表2-25&#xff09;使用图2-28中显示的头标格式。re…

银行核心背后的落地工程体系丨混沌测试的场景设计与实战演练

本文作者&#xff1a; 张显华、窦智浩、卢进文 与集中式架构相比&#xff0c;分布式架构的系统复杂性呈指数级增长&#xff0c;混沌工程在信创转型、分布式架构转型、小机下移等过程中有效保障了生产的稳定性。本文分享了 TiDB 分布式数据库在银行核心业务系统落地中进行混沌测…

问题—前端调用接口url多加一个/,本地可以调通,测试环境报错302,分开调两个接口

问题背景 接口url前面多加一个/ &#xff0c;npm run serve 起项目&#xff0c;本地调用正常 npm run build 打包到测试环境&#xff0c;接口出现问题&#xff0c;分开调用接口&#xff0c;且报302错误 问题原因&#xff1a; 本地开发环境和测试环境的URL处理方式不同 本地使…

动态规划-两个数组的dp问题3

文章目录 1. 两个字符串的最小ASCII删除和&#xff08;712&#xff09;2. 最长重复子数组&#xff08;718&#xff09; 1. 两个字符串的最小ASCII删除和&#xff08;712&#xff09; 题目描述&#xff1a; 状态表示&#xff1a; 根据经验以及题目要求&#xff0c;建立二维数…

旧手机-基于Termux配置服务器(不用拿去换钢盆了)

Hi&#xff0c;大家好&#xff0c;我是抢老婆酸奶的小肥仔。 大家用手机这么多年了&#xff0c;手上或多或少都有一两个被替换下来的旧手机&#xff0c;也不用拿去换啥钢盆了&#xff0c;使用Termux可以将旧手机改造成一个服务器。 不多说&#xff0c;直接开干。 1、安装app…

别再找了!吐血整理ChatGPT 3.5/4.0新手使用手册

引领科技潮流的ChatGPT早已名声在外&#xff0c;如今获取ChatGPT已变得触手可及&#xff0c;但很多人还多次提问如何使用chatgpt&#xff0c;为了避免陷入误区&#xff0c;本文旨在为广大ChatGPT爱好者提供一份实用的指南。 因此&#xff0c;帮助大家更好地掌握其使用技巧&…

leetcode.环形链表问题

目录 题目1 示例 解题思路 代码实现 补充 题目2 示例 解题思路 代码实现 题目1 该题链接&#xff1a;https://leetcode.cn/problems/linked-list-cycle/description/ 示例 解题思路 要创建两个指针一个是快指针(fast)&#xff0c;另一个慢指针(slow)。快指针走两步慢指…

Linux修改终端命令颜色

1.在家目录中修改.bashrc文件 cd ~ vim .bashrc2.找到PS1相关段落&#xff0c;把其他的注释掉&#xff0c;填上该行代码&#xff0c;修改为自己设置的颜色 (具体颜色查看参考文章) 提供两种颜色&#xff0c;其他的自学调色盘吧(下文有)~ (祝你愉快) ①浅蓝色 深蓝 PS1\[\03…

CSRF 攻击实验:Token 不存在绕过验证

前言 CSRF&#xff08;Cross-Site Request Forgery&#xff09;&#xff0c;也称为XSRF&#xff0c;是一种安全漏洞&#xff0c;攻击者通过欺骗用户在受信任网站上执行非自愿的操作&#xff0c;以实现未经授权的请求。 CSRF攻击利用了网站对用户提交的请求缺乏充分验证和防范…

基于Java+SpringBoot+vue+elementui 实现猜灯谜答题抽奖系统

目录 系统简介效果图1、手机答题端2、后台系统管理 源码结构源码下载地址技术交流 博主介绍&#xff1a; 计算机科班人&#xff0c;全栈工程师&#xff0c;掌握C、C#、Java、Python、Android等主流编程语言&#xff0c;同时也熟练掌握mysql、oracle、sqlserver等主流数据库&…

MES系统在电线电缆行业生产上的应用

MES系统在线缆行业的应用可以带来多重价值&#xff0c;包括提高生产效率、降低生产成本、提高产品质量、优化库存管理、改善生产环境和提高企业竞争力等方面。因此&#xff0c;在电线电缆行业中广泛应用MES系统可以提高企业的经济效益和社会效益&#xff0c;推动企业发展和行业…

第1章 初始Spring Boot【仿牛客网社区论坛项目】

第1章 初始Spring Boot【仿牛客网社区论坛项目】 前言推荐项目总结第1章初识Spring Boot&#xff0c;开发社区首页1.课程介绍2.搭建开发环境3.Spring入门体验IOC容器体验Bean的生命周期体验配置类体验依赖注入体验三层架构 4.SpringMVC入门配置体验响应数据体验响应Get请求体验…