100天精通Python(可视化篇)——第92天:Pyecharts绘制炫酷柱状图、条形图实战大全

news2024/11/17 14:40:50

文章目录

  • 专栏导读
  • 1. 基础柱状图
  • 2. 旋转x轴标签
  • 3. 旋转坐标轴
  • 4. 添加坐标轴名称
  • 5. 添加标记点
  • 6. 添加标注线
  • 7. 添加数据
  • 8. 添加自定义背景图
  • 9. 堆叠柱状图
  • 10. 柱状图与折线图组合
  • 11. 三维柱状图
  • 12. 水平滑动、鼠标滚轮缩放柱状图

专栏导读

🔥🔥本文已收录于《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html

  • 优点订阅限时9.9付费专栏进入千人全栈VIP答疑群,作者优先解答机会(代码指导、远程服务),群里大佬众多可以抱团取暖(大厂内推机会)
  • 专栏福利简历指导、招聘内推、每周送实体书、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等
    在这里插入图片描述
    在这里插入图片描述

1. 基础柱状图

首先,我们导入了options模块,并使用Bar()函数创建了一个Bar对象。然后,我们使用add_xaxis()方法添加x轴的数据,使用add_yaxis()方法添加y轴的数据,并设置了系列的名称为"基本柱状图"。接下来,我们使用set_global_opts()方法设置了图表的标题,包括主标题和副标题。最后,我们使用render_notebook()方法在jupyter notebook中渲染图表。

from pyecharts import options as opts  # 导入pyecharts的配置模块
from pyecharts.charts import Bar  # 导入柱状图模块

# 定义x轴的数据
x_data = ["语文", "数学", "英语", "历史", "政治", "地理", "体育"]
# 定义学生A的成绩数据
y_value1 = [99, 85, 90, 95, 70, 92, 98]
# 定义学生B的成绩数据
y_value2 = [90, 95, 88, 85, 96, 80, 76]

# 创建柱状图实例
bar = (
    Bar()  # 使用Bar()函数创建一个Bar对象
    .add_xaxis(x_data)  # 添加x轴数据
    .add_yaxis("学生A", y_value1)  # 添加学生A的成绩数据,设置系列名称为"学生A"
    .add_yaxis("学生B", y_value2)  # 添加学生B的成绩数据,设置系列名称为"学生B"
    .set_global_opts(title_opts=opts.TitleOpts(title="我是主标题", subtitle="我是副标题"))  # 设置全局配置项,包括标题
)

# 在jupyter notebook中渲染图表
bar.render_notebook()

运行结果:
在这里插入图片描述

2. 旋转x轴标签

设置x轴标签旋转角度为-15度xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15))

from pyecharts import options as opts  # 导入pyecharts的配置模块
from pyecharts.charts import Bar  # 导入柱状图模块

# 定义x轴的数据
x_data = ["语文", "数学", "英语", "历史", "政治", "地理", "体育"]
# 定义学生A的成绩数据
y_value1 = [99, 85, 90, 95, 70, 92, 98]
# 定义学生B的成绩数据
y_value2 = [90, 95, 88, 85, 96, 80, 76]

# 创建柱状图实例
bar = (
    Bar()  # 使用Bar()函数创建一个Bar对象
    .add_xaxis(x_data)  # 添加x轴数据
    .add_yaxis("学生A", y_value1)  # 添加学生A的成绩数据,设置系列名称为"学生A"
    .add_yaxis("学生B", y_value2)  # 添加学生B的成绩数据,设置系列名称为"学生B"
    .set_global_opts(title_opts=opts.TitleOpts(title="我是主标题"),
                     xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)) # 设置x轴标签旋转角度为-15度
                     )  # 设置全局配置项,包括标题
)

# 在jupyter notebook中渲染图表
bar.render_notebook()

运行结果:
在这里插入图片描述

3. 旋转坐标轴

from pyecharts import options as opts  # 导入pyecharts的配置模块
from pyecharts.charts import Bar  # 导入柱状图模块

# 定义x轴的数据
x_data = ["语文", "数学", "英语", "历史", "政治", "地理", "体育"]
# 定义学生A的成绩数据
y_value1 = [99, 85, 90, 95, 70, 92, 98]
# 定义学生B的成绩数据
y_value2 = [90, 95, 88, 85, 96, 80, 76]

# 创建柱状图实例
bar = (
    Bar()  # 使用Bar()函数创建一个Bar对象
    .add_xaxis(x_data)  # 添加x轴数据
    .add_yaxis("学生A", y_value1)  # 添加学生A的成绩数据,设置系列名称为"学生A"
    .add_yaxis("学生B", y_value2)  # 添加学生B的成绩数据,设置系列名称为"学生B"
    .set_global_opts(
        title_opts=opts.TitleOpts(title="我是主标题"),  # 设置全局配置项,包括标题
        yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=0))  # 设置y轴标签不旋转
    )
    .reversal_axis()  # 将柱状图转为横向柱状图
)

# 在jupyter notebook中渲染图表
bar.render_notebook()

运行结果:
在这里插入图片描述

4. 添加坐标轴名称

通过在全局配置项中设置xaxis_opts=opts.AxisOpts(name="课程类别")yaxis_opts=opts.AxisOpts(name="课程成绩")添加坐标轴名称:

from pyecharts import options as opts  # 导入pyecharts的配置模块
from pyecharts.charts import Bar  # 导入柱状图模块

# 定义x轴的数据
x_data = ["语文", "数学", "英语", "历史", "政治", "地理", "体育"]
# 定义学生A的成绩数据
y_value1 = [99, 85, 90, 95, 70, 92, 98]
# 定义学生B的成绩数据
y_value2 = [90, 95, 88, 85, 96, 80, 76]

# 创建柱状图实例
bar = (
    Bar()  # 使用Bar()函数创建一个Bar对象
    .add_xaxis(x_data)  # 添加x轴数据
    .add_yaxis("学生A", y_value1)  # 添加学生A的成绩数据,设置系列名称为"学生A"
    .add_yaxis("学生B", y_value2)  # 添加学生B的成绩数据,设置系列名称为"学生B"
    .set_global_opts(title_opts=opts.TitleOpts(title="我是主标题"),
                     xaxis_opts=opts.AxisOpts(name="课程类别"), # 添加x坐标轴名称
                     yaxis_opts=opts.AxisOpts(name="课程成绩"), # 添加y坐标轴名称
                     )  # 设置全局配置项,包括标题
)

# 在jupyter notebook中渲染图表
bar.render_notebook()

运行结果:
在这里插入图片描述

5. 添加标记点

通过 markline_opts=opts.MarkPointOpts添加最小值、最大值、平均值

from pyecharts import options as opts  # 导入pyecharts的配置模块
from pyecharts.charts import Bar  # 导入柱状图模块

# 定义x轴的数据
x_data = ["语文", "数学", "英语", "历史", "政治", "地理", "体育"]
# 定义学生A的成绩数据
y_value1 = [99, 85, 90, 95, 70, 92, 98]
# 定义学生B的成绩数据
y_value2 = [90, 95, 88, 85, 96, 80, 76]

# 创建柱状图实例
bar = (
    Bar()  # 使用Bar()函数创建一个Bar对象
    .add_xaxis(x_data)  # 添加x轴数据
    .add_yaxis("学生A", y_value1)  # 添加学生A的成绩数据,设置系列名称为"学生A"
    .add_yaxis("学生B", y_value2)  # 添加学生B的成绩数据,设置系列名称为"学生B"
    .set_series_opts(
        label_opts=opts.LabelOpts(is_show=False),
        markpoint_opts=opts.MarkPointOpts(# 标记点配置项
            data=[ # 标记点数据
                opts.MarkPointItem(type_="max", name="最大值"),#MarkPointItem:标记点数据项
                opts.MarkPointItem(type_="min", name="最小值"),
                opts.MarkPointItem(type_="average", name="平均值"),
            ]
        ),
    )
)

# 在jupyter notebook中渲染图表
bar.render_notebook()

运行结果:
在这里插入图片描述

6. 添加标注线

通过 markline_opts=opts.MarkLineOpts添加最小值、最大值、平均值线

from pyecharts import options as opts  # 导入pyecharts的配置模块
from pyecharts.charts import Bar  # 导入柱状图模块

# 定义x轴的数据
x_data = ["语文", "数学", "英语", "历史", "政治", "地理", "体育"]
# 定义学生A的成绩数据
y_value1 = [99, 85, 90, 95, 70, 92, 98]
# 定义学生B的成绩数据
y_value2 = [90, 95, 88, 85, 96, 80, 76]

# 创建柱状图实例
bar = (
    Bar()  # 使用Bar()函数创建一个Bar对象
    .add_xaxis(x_data)  # 添加x轴数据
    .add_yaxis("学生A", y_value1)  # 添加学生A的成绩数据,设置系列名称为"学生A"
    .add_yaxis("学生B", y_value2)  # 添加学生B的成绩数据,设置系列名称为"学生B"
    .set_series_opts(
        label_opts=opts.LabelOpts(is_show=False),
        markline_opts=opts.MarkLineOpts(
            data=[
                opts.MarkLineItem(type_="min", name="最小值"),
                opts.MarkLineItem(type_="max", name="最大值"),
                opts.MarkLineItem(type_="average", name="平均值"),
            ]
        ),
    )
)

# 在jupyter notebook中渲染图表
bar.render_notebook()

运行结果:
在这里插入图片描述

7. 添加数据

通过设置.add_yaxis(stack=‘’)参数给某柱状图图加数据:

from pyecharts import options as opts  # 导入pyecharts的配置模块
from pyecharts.charts import Bar  # 导入柱状图模块

# 定义x轴的数据
x_data = ["语文", "数学", "英语", "历史", "政治", "地理", "体育"]
# 定义学生A的成绩数据
y_value1 = [99, 85, 90, 95, 70, 92, 98]
# 定义学生B的成绩数据
y_value2 = [90, 95, 88, 85, 96, 80, 76]
add_value2 = [10, 10, 10, 10, 10, 10] #学生B是三好学生每门课程加10分

# 创建柱状图实例
bar = (
    Bar()  # 使用Bar()函数创建一个Bar对象
    .add_xaxis(x_data)  # 添加x轴数据
    .add_yaxis("学生A", y_value1)  # 添加学生A的成绩数据,设置系列名称为"学生A"
    .add_yaxis("学生B", y_value2, stack = "stack1")  # 添加学生B的成绩数据,设置系列名称为"学生B"
    .add_yaxis("加分", add_value2, stack = "stack1") # 添加数据
 
    .set_series_opts(
        title_opts=opts.TitleOpts(title="我是主标题"),
        xaxis_opts=opts.AxisOpts(name="课程类别"),  # 添加x坐标轴名称
        yaxis_opts=opts.AxisOpts(name="课程成绩"),  # 添加y坐标轴名称
        label_opts=opts.LabelOpts(is_show=False),
        markline_opts=opts.MarkLineOpts(
            data=[
                opts.MarkLineItem(type_="min", name="最小值"),
                opts.MarkLineItem(type_="max", name="最大值"),
                opts.MarkLineItem(type_="average", name="平均值"),
            ]
        ),
    )
)

# 在jupyter notebook中渲染图表
bar.render_notebook()

运行结果:
在这里插入图片描述

8. 添加自定义背景图

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.globals import ThemeType

# 定义x轴的数据
x_data = ["语文", "数学", "英语", "历史", "政治", "地理", "体育"]
# 定义学生A的成绩数据
y_value1 = [99, 85, 90, 95, 70, 92, 98]
# 定义学生B的成绩数据
y_value2 = [90, 95, 88, 85, 96, 80, 76]
add_value2 = [10, 10, 10, 10, 10, 10]  # 学生B是三好学生每门课程加10分

# 创建柱状图实例
bar = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.CHALK))  # 使用CHALK主题
    .add_xaxis(x_data)  # 添加x轴数据
    .add_yaxis("学生A", y_value1)  # 添加学生A的成绩数据,设置系列名称为"学生A"
    .add_yaxis("学生B", y_value2, stack="stack1")  # 添加学生B的成绩数据,设置系列名称为"学生B"
    .add_yaxis("加分", add_value2, stack="stack1")  # 添加数据

    .set_series_opts(
        title_opts=opts.TitleOpts(title="我是主标题"),
        xaxis_opts=opts.AxisOpts(name="课程类别"),  # 添加x坐标轴名称
        yaxis_opts=opts.AxisOpts(name="课程成绩"),  # 添加y坐标轴名称
        label_opts=opts.LabelOpts(is_show=False),
        markline_opts=opts.MarkLineOpts(
            data=[
                opts.MarkLineItem(type_="min", name="最小值"),
                opts.MarkLineItem(type_="max", name="最大值"),
                opts.MarkLineItem(type_="average", name="平均值"),
            ]
        ),
    )
)

# 设置全局配置项
bar.set_global_opts(
    # 添加自定义背景图
    graphic_opts=[
        opts.GraphicImage(
            graphic_item=opts.GraphicItem(
                id_="background",
                right=20,
                bottom=20,
                z=-10,
                bounding="raw",
                origin=[75, 75],
            ),
            graphic_imagestyle_opts=opts.GraphicImageStyleOpts(
                image="https://kr.shanghai-jiuxin.com/file/bizhi/20220927/4gzitkl1lyv.jpg", #  指定一下路径。也可以用文件路径
                width=650,
                height=450,
                opacity=0.3,
            ),
        )
    ],
)

# 在jupyter notebook中渲染图表
bar.render_notebook()

运行结果:
在这里插入图片描述

9. 堆叠柱状图

在代码中,我们使用了add_yaxis方法三次,分别添加了三种不同的数据,并将它们设置为堆叠模式。通过设置stack参数为相同的值,将它们归为同一堆叠组

from pyecharts import options as opts
from pyecharts.charts import Bar

# 定义x轴的数据
x_data = ['A', 'B', 'C', 'D', 'E']

# 定义三种数据的y轴数据
y_data1 = [10, 20, 30, 40, 50]
y_data2 = [15, 25, 35, 45, 55]
y_data3 = [5, 15, 25, 35, 45]

# 创建柱状图实例
bar = (
    Bar()
    .add_xaxis(x_data)
    .add_yaxis("数据1", y_data1, stack="stack1")  # 设置数据1为堆叠模式,堆叠组为stack1
    .add_yaxis("数据2", y_data2, stack="stack1")  # 设置数据2为堆叠模式,堆叠组为stack1
    .add_yaxis("数据3", y_data3, stack="stack1")  # 设置数据3为堆叠模式,堆叠组为stack1
    .set_series_opts(label_opts=opts.LabelOpts(is_show=True))
    .set_global_opts(title_opts=opts.TitleOpts(title="三种数据堆叠柱状图"))
)

# 在jupyter notebook中渲染图表
bar.render_notebook()

运行结果:
在这里插入图片描述

10. 柱状图与折线图组合

通过line创建折线图对象,并bar.overlap(line)将柱状图与折线图组合显示:

from pyecharts import options as opts  # 导入pyecharts的配置模块
from pyecharts.charts import Bar  # 导入柱状图模块

# 定义x轴的数据
x_data = ["语文", "数学", "英语", "历史", "政治", "地理", "体育"]
# 定义学生A的成绩数据
y_value1 = [99, 85, 90, 95, 70, 92, 98]
# 定义学生B的成绩数据
y_value2 = [90, 95, 88, 85, 96, 80, 76]

# 创建柱状图实例
bar = (
    Bar()  # 使用Bar()函数创建一个Bar对象
    .add_xaxis(x_data)  # 添加x轴数据
    .add_yaxis("学生A", y_value1)  # 添加学生A的成绩数据,设置系列名称为"学生A"
    .add_yaxis("学生B", y_value2)  # 添加学生B的成绩数据,设置系列名称为"学生B"
    .set_global_opts(title_opts=opts.TitleOpts(title="我是主标题"),
                     xaxis_opts=opts.AxisOpts(name="课程类别"), # 添加x坐标轴名称
                     yaxis_opts=opts.AxisOpts(name="课程成绩"), # 添加y坐标轴名称
                     )  # 设置全局配置项,包括标题
)

# 创建折线图实例
line = (
    Line()  # 使用Line()函数创建一个Line对象
    .add_xaxis(x_data)  # 添加x轴数据
    .add_yaxis("学生A", y_value1)  # 添加学生A的成绩数据,设置系列名称为"学生A"
    .add_yaxis("学生B", y_value2)  # 添加学生B的成绩数据,设置系列名称为"学生B"
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))  # 不显示标签
)

# 将柱状图和折线图组合在一起
bar.overlap(line)

# 在jupyter notebook中渲染图表
bar.render_notebook()

运行结果:
在这里插入图片描述

11. 三维柱状图

在代码中,通过定义x、y、z轴的数据,创建了一个Bar3D对象,并使用add()方法添加数据。在add()方法中,通过列表推导式生成了三维坐标数据。然后使用set_global_opts()方法设置全局配置项,包括可视化映射的最大值、标题。最后使用render_notebook()方法在jupyter notebook中渲染图表。

from pyecharts.charts import Bar3D
from pyecharts import options as opts

# 定义x、y、z轴的数据
x_data = ["A", "B", "C", "D", "E"]
y_data = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
z_data = [
    [1, 2, 3, 4, 5, 6, 7],
    [2, 3, 4, 5, 6, 7, 8],
    [3, 4, 5, 6, 7, 8, 9],
    [4, 5, 6, 7, 8, 9, 10],
    [5, 6, 7, 8, 9, 10, 11]
]

# 创建三维柱状图实例
bar3d = (
    Bar3D()  # 使用Bar3D()函数创建一个Bar3D对象
    .add(
        "",
        [[i, j, z_data[i][j]] for i in range(len(x_data)) for j in range(len(y_data))],
        xaxis3d_opts=opts.Axis3DOpts(data=x_data, type_="category"),
        yaxis3d_opts=opts.Axis3DOpts(data=y_data, type_="category"),
        zaxis3d_opts=opts.Axis3DOpts(type_="value"),
        grid3d_opts=opts.Grid3DOpts(width=200, height=80, depth=80),
    )
    .set_global_opts(
        visualmap_opts=opts.VisualMapOpts(max_=11),
        title_opts=opts.TitleOpts(title="三维柱状图"),
    )
)

# 在jupyter notebook中渲染图表
bar3d.render_notebook()

运行结果:
在这里插入图片描述

12. 水平滑动、鼠标滚轮缩放柱状图

设置datazoom_opts=[opts.DataZoomOpts(), opts.DataZoomOpts(type_="inside")], DataZoom组件设置滑动条和内置型

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker

# 创建柱状图实例
bar = (
    Bar()  # 使用Bar()函数创建一个Bar对象
    .add_xaxis(Faker.days_attrs)  # 添加x轴数据
    .add_yaxis("出售量", Faker.days_values, color=Faker.rand_color())  # 添加y轴数据,设置系列名称为"出售量",颜色随机生成
    .set_global_opts(
        title_opts=opts.TitleOpts(title="水平滑动、鼠标滚轮缩放柱状图"),  # 设置标题
        datazoom_opts=[opts.DataZoomOpts(), opts.DataZoomOpts(type_="inside")],  # 设置DataZoom组件,包括滑动条和内置型
    )
)

# 在jupyter notebook中渲染图表
bar.render_notebook()

在这里插入图片描述

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

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

相关文章

ConcurrentHashMap源码

HashTable是一个线程安全的类,它使用synchronized来锁住整张Hash表来实现线程安全,即每次锁住整张表让线程独占,相当于所有线程进行读写时都去竞争一把锁,导致效率非常低下。 介绍 ConcurrentHashMap的底层原理和HashMap是比较相…

网页之http

目录 一、网页概念: 1.纯文本格式文件 2.编写语言-----html---超文本标记语言 3.浏览器相当于翻译器,检查是否为html文件,是的话就翻译,否则就报错。 二、域名 三、DNS解析 1.分布式域名解析-----层次性:迭代处…

谁是远程界的天花板?2023年5款最常用的远程软件横测:ToDesk、向日葵、TeamViewer、Splashtop、AnyDesk

前言 一个优秀的远控软件,追求的是可信赖的安全感,连接的流畅度、画质的清晰度、操作的简单化、毫秒级的无感延迟以及全方位的功能。另外,远控软件还应拥有独立的创新技术,具备竞争对手无法超越的市场前瞻性,与世界保…

MySQL - 第4节 - MySQL表的约束

1.MySQL表的约束概述 • 真正约束字段的是数据类型,如果插入的数据超出了对应数据类型的取值范围,那么数据将会插入失败。 • 但是数据类型的约束很单一,为了更好的保证数据的合法性,从业务逻辑角度保证数据的正确性,M…

ldr、str、ldm、stm、msr、mrs、swi、svc、mrc等ARM指令详解及具体应用

文章目录 前言一、跳转指令1.1 相对跳转1.2 绝对跳转 二、内存操作指令2.1 Load和Store2.1.1 伪指令2.1.2 伪操作 2.2 内存操作指令具体应用 三、 寄存器的寻址方式3.1 前索引寻址3.2 后索引寻址3.3 基址变址 四、块拷贝指令(多数据加载)4.1 块拷贝4.2 指…

Nacos 源码分析全系列

Nacos 源码分析全系列 学习目标 主线任务 代码解析画图git库(中文注释)设计思想多版本迭代讨论群(私聊进群) 主要的大纲路线 主要拆解的是nacos的1.4.1版本和2.1.0版本,还有nacos 的一些已知的bug 正确的学习源码的姿势 服务端是如何处理客户度的请求 注册中心服务 内存…

【备战秋招】每日一题:华东师范大学保研机试-2022-差分计数

为了更好的阅读体检,可以查看我的算法学习博客差分计数 题目内容 给定n个整数,...,和一个整数x。求有多少有序对(i,j)满足 输入格式 第一行两个整数,分别代表整数的个数和题目中的x。 第二行n个用空格隔开的整数,第i个代表 输出格式 一行一个整数…

1745_Perl中的switch结构

全部学习汇总: GreyZhang/perl_basic: some perl basic learning notes. (github.com) 用了很久时间的Perl了,但是一直没有使用过switch结构。即使有的时候,基本上也通过其他的形式完成了相关工作。虽说有时候可能会效率低一些,但…

【Python】使用pyside2时qt designer 设计窗口显示图标icon但是运行后不显示(图文说明)

目录 错误情况解决方法总结 欢迎关注 『Python』 系列,持续更新中 欢迎关注 『Python』 系列,持续更新中 平时用的不多,也不知道这个报错有没有偶然性,或者是我自己搞错了仅供参考。 错误情况 toolBar中的图标在designer中显示正…

【备战秋招】每日一题:华东师范大学保研机试-2022-位运算

为了更好的阅读体检,可以查看我的算法学习博客位运算 题目内容 给定一个int型整数x,将x的二进制表示中第i位和第j位的值互换。 注意: x的二进制表示的最右边为第0位。 输入格式 在一行中输入三个整数,x,i,j, 整数之间用一个空格分隔。 输出格式 在…

【开启微前端新时代】微前端:构建可扩展、可维护的现代 Web 应用

文章目录 第1章:微前端简介微前端是什么微前端的优势和劣势微前端有以下优势1. 独立部署2. 技术栈无关3. 更好的扩展性4. 短生命周期 微前端的劣势:1. 系统复杂度2. 通信机制3. 部署成本 微前端的历史和现状 第2章:微前端架构模式容器和子应用…

软考A计划-网络工程师-系统架构师案例分析知识点整理

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

Linux串口编程

文章目录 前言一、Linux下的TTY体系介绍二、行规层三、Linux串口编程步骤四、代码编写总结 前言 本篇文章将讲解如何在Linux下使用串口。 一、Linux下的TTY体系介绍 在Linux系统中,tty(Teletypewriter)是指一种终端设备,它提供…

Fiddler之Replay功能详解

今天就先来看看Fiddler的功能。 Fiddler,最容易看到的就是快捷工具栏中的 Replay 按钮 解释下: Reissue the selected requests. 重发选中的请求Hold CTRL to reissue unconditionallly. 选中请求按住 CTRL 键,点击Replay时无条件重发选中…

【MySQL函数】:让你的数据库操作更高效(一)

前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL字符串函数和数学函数的讲解✨ 目录 前言一、字符串函数二、数学函数三、总结 一、字符串函数 函数作用UPPER(列|字符串)将字符串每个字符转为大写LOWER(列|字符串)将字符串每个字符转为小写CONCAT(str1,str2,…

CSS的学习2

这几天复习了英语,高数,也考完四级了。 这两天开始写了课设的项目,选的是捷住宝,我打算用链表和搜索树。写着写着总是出问题,然后改Bug。还差删除信息和文件操作,还是尽量写好一些。 明天考英语&#xff…

TX-1C单片机实现多功能电子时钟

实验报告 电子时钟实验 一、实验要求:二、实验结果三、实验思路(一)模块整理(二)流程图绘制(三)C51编程 四、实验总结(一)未完成的部分(二)待优化…

layui框架实战案例(22):多附件上传实战开发实录(php后端、文件删除、数据库删除)

layUI框架实战案例系列文章 layui框架实战案例(21):layui上传的哪些事(layui.upload组件、 file文件域、php后台上传)layui框架实战案例(20):常用条件判断和信息展示技巧(图片预览、动态表格、短信已读未读、链接分享、信息脱敏、内置框架页)layui框架实…

【Spring Cloud系列】-Eureka服务端高可用详解

【Spring Cloud系列】-Eureka服务端高可用详解 文章目录 【Spring Cloud系列】-Eureka服务端高可用详解一. 序言二. 什么是高可用性三. 什么是CAP一致性(Consistency)可用性(Availability)分区容错(Partition-toleranc…

2.8 基于DPDK的UDP用户态协议栈实现

目录 一、网络协议栈1、**网络通信过程**2、**dpdk** 二、dpdk环境1、dpdk环境开启2、Windowe下配置IP和MAC地址的映射 三、实现用户态协议栈ustack1、UDP协议2、代码 四、dpdk一些基本函数接口rte_eal_init()rte_pktmbuf_pool_create()rte_socket_id()rte_eth_dev_configure()…