Python数据可视化-第6章-坐标轴的定制

news2025/4/10 5:36:10

环境

开发工具

VSCode

库的版本

numpy==1.26.4
matplotlib==3.10.1
ipympl==0.9.7

教材

本书为《Python数据可视化》一书的配套内容,本章为第6章 坐标轴的定制
本章主要介绍了坐标轴的定制,包括向任意位置添加坐标轴、定制刻度、隐藏轴脊和移动轴脊。

在这里插入图片描述

参考

第6章-坐标轴的定制

6.1 坐标轴概述

在绘制图表的过程中,matplotlib会根据所绘图表的类型决定是否在绘图区域中显示坐标系,或者显示哪种类型的坐标系。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import matplotlib.pyplot as plt
# 获取当前坐标轴信息 gca = get current axis
cur_ax = plt.gca()
print(cur_ax,type(cur_ax)) 
print(" ".join([i for i in dir(cur_ax) if not i.startswith('__')]))
print(cur_ax.spines)

输出如下:

Axes(0.125,0.11;0.775x0.77) <class ‘matplotlib.axes._axes.Axes’>
ArtistList acorr add_artist add_callback add_child_axes add_collection add_container add_image add_line add_patch add_table angle_spectrum annotate apply_aspect arrow artists autoscale autoscale_view axes axhline axhspan axis axison axline axvline axvspan bar bar_label barbs barh bbox boxplot broken_barh bxp callbacks can_pan can_zoom child_axes cla clabel clear clipbox cohere collections containers contains contains_point contour contourf convert_xunits convert_yunits csd dataLim drag_pan draw draw_artist ecdf end_pan errorbar eventplot figure fill fill_between fill_betweenx findobj fmt_xdata fmt_ydata format_coord format_cursor_data format_xdata format_ydata get_adjustable get_agg_filter get_alpha get_anchor get_animated get_aspect get_autoscale_on

get_yscale get_yticklabels get_yticklines get_yticks get_zorder grid has_data have_units hexbin hist hist2d hlines ignore_existing_data_limits images imshow in_axes indicate_inset indicate_inset_zoom inset_axes invert_xaxis invert_yaxis is_transform_set label_outer legend legend_ lines locator_params loglog magnitude_spectrum margins matshow minorticks_off minorticks_on mouseover name patch patches pchanged pcolor pcolorfast pcolormesh phase_spectrum pick pickable pie plot plot_date properties psd quiver quiverkey redraw_in_frame relim remove remove_callback reset_position scatter secondary_xaxis secondary_yaxis semilogx semilogy set set_adjustable set_agg_filter set_alpha set_anchor set_animated set_aspect set_autoscale_on set_autoscalex_on set_autoscaley_on

set_yticks set_zorder sharex sharey specgram spines spy stackplot stairs stale stale_callback start_pan stem step sticky_edges streamplot table tables text texts tick_params ticklabel_format title titleOffsetTrans transAxes transData transLimits transScale tricontour tricontourf tripcolor triplot twinx twiny update update_datalim update_from use_sticky_edges viewLim violin violinplot vlines xaxis xaxis_date xaxis_inverted xcorr yaxis yaxis_date yaxis_inverted zorder
<matplotlib.spines.Spines object at 0x000001E84C3D5CA0>
在这里插入图片描述

6.2 向任意位置添加坐标轴 axes()函数

matplotlib支持向画布的任意位置添加自定义大小的绘图区域,同时显示坐标轴。通过pyplot模块的axes()函数创建一个Axes类的对象,并将Axes类的对象添加到当前画布中。

axes(arg=None, projection=None, polar=False, aspect, frame_on, **kwargs)

arg:支持None、4-tuple中任一取值,其中None表示使用subplot(111)添加的与画布同等大小的Axes 对象,4-tuple表示由4个浮点型元素(取值范围为0~1)组成的元组 (left, bottom, width, height) 。
projection:表示坐标轴的类型,可以是None、‘aitoff’、‘hammer’、‘lambert’、‘mollweide’、'polar’或’rectilinear’中的任一取值,也可以是自定义的类型。
polar:表示是否使用极坐标,若设为True,则其作用等价于projection=‘polar’。

在这里插入图片描述

import matplotlib.pyplot as plt
# 0.2,0.5,0.3,0.3 分别代表 左、下、宽、高
ax = plt.axes((0.2, 0.5, 0.3, 0.3))
ax.plot([1, 2, 3, 4, 4])
ax2 = plt.axes((0.6, 0.4, 0.2, 0.2))
ax2.plot([1, 2, 4, 4, 5])
plt.show()

输出如下:

在这里插入图片描述

还可以使用Figure类对象的add_axes()方法向当前画布的任意位置上添加Axes类对象

import matplotlib.pyplot as plt
fig = plt.figure(figsize=(10, 6))
ax = fig.add_axes([0.2, 0.5, 0.3, 0.3])
# 0.2,0.5,0.3,0.3 分别代表 左、下、宽、高
ax.plot([1, 2, 3, 4, 4])
ax2 = fig.add_axes([0.6, 0.4, 0.2, 0.2])
ax2.plot([1, 2, 4, 3, 4])   
plt.show()

输出如下:

在这里插入图片描述

6.3 定制刻度

6.3.1 定制刻度的位置和格式

matplotlib.ticker模块中提供了两个类:LocatorFormatter,分别代表刻度定位器和刻度格式器,用于指定刻度线的位置和刻度标签的格式。

刻度定位器

Locator是刻度定位器的基类,它派生了很多子类,通过这些子类构建的刻度定位器可以指定刻度的间隔及刻度的位置。
在这里插入图片描述
matplotlib.dates模块中还提供了很多与日期时间相关的定位器,关于这些定位器的说明如下表所示。
在这里插入图片描述
matplotlib也支持自定义刻度定位器,我们只需要定义一个Locator 的子类,并在该子类中重写___call__()方法即可。
使用matplotlib的set_major_locator()set_minor_locator()方法设置坐标轴的主刻度或次刻度的定位器。

刻度格式器

Formatter是刻度格式器的基类, 它派生了很多子类,通过这些子类构建的刻度格式器可以调整刻度标签的格式。Formatter的常见子类如表所示。
在这里插入图片描述
matplotlib.dates模块中还提供了很多与日期时间相关的格式器,关于这些格式器的说明如下表所示。
在这里插入图片描述
matplotlib也支持自定义刻度格式器,只需要定义一个Formatter的子类,并在该子类中重写___call__()方法即可。
使用matplotlib的set_major_formatter()set_minor_formatter()方法可以设置坐标轴的主刻度或次刻度的格式器。

import matplotlib.pyplot as plt
from datetime import datetime
from matplotlib.dates import DateFormatter, HourLocator
ax = plt.gca()
# 创建一个HourLocator定位器,间隔为2小时
hour_loc = HourLocator(interval=2)
# 将hour_loc设为x轴的主刻度定位器
date_fmt = DateFormatter('%Y/%m/%d')
ax.xaxis.set_major_locator(hour_loc)
ax.xaxis.set_major_formatter(date_fmt)
plt.tick_params(labelrotation=30)

输出如下:

在这里插入图片描述

在这里插入图片描述

代码如下:

import matplotlib.pyplot as plt
from matplotlib.dates import HourLocator, DateFormatter
import numpy as np
from datetime import datetime, timedelta

# 生成时间序列数据
start_time = datetime.now().replace(hour=0, minute=0, second=0, microsecond=0)
time_points = [start_time + timedelta(hours=i) for i in range(0,10,2)]

# 0.2,0.5,0.3,0.3 分别代表 左、下、宽、高
ax = plt.axes((0.2, 0.5, 0.3, 0.3))
# 绘制时间序列数据
ax.plot(time_points, [1, 2, 3, 4, 4])

# 创建一个HourLocator定位器,间隔为2小时
hour_loc = HourLocator(interval=2,)
# 创建一个DateFormatter格式器,格式为“小时:分钟”
date_fmt = DateFormatter("%H:%M")
# 将hour_loc设为x轴的主刻度定位器
ax.xaxis.set_major_locator(hour_loc)
# 将date_fmt设为x轴的主刻度格式器
ax.xaxis.set_major_formatter(date_fmt)
plt.tick_params(labelrotation=30)

# ax2 = plt.axes((0.6, 0.4, 0.2, 0.2))
# ax2.plot([1, 2, 4, 4, 5])
plt.show()
6.3.2 定制刻度的样式 tick_params()函数

在matplotlib中,坐标轴的刻度有着固定的样式,例如,刻度线的方向是朝外的,刻度线的颜色是黑色的等。使用tick_params()函数可以定制刻度的样式。

tick_params(axis='both', **kwargs)

axis:表示选择操作的轴,可以取值为’x’、‘y’或’both’,默认为’both’。
which:表示刻度的类型,可以取值为’major’、‘minor’或’both’,默认为’major’。
direction:表示刻度线的方向,可以取值为’in’、‘out’或’inout’。
length:表示刻度线的长度,单位为磅。
width:表示刻度线的宽度,单位为磅。
color:表示刻度线的颜色
pad:表示刻度线与刻度标签的距离。
labelsize:表示刻度标签的字体大小
labelcolor:表示刻度标签的颜色。
bottom,top,left,right:表示是否显示下方、上方、左方、右方的刻度线。
labelrotation:表示刻度标签旋转的角度

在这里插入图片描述

import matplotlib.pyplot as plt
from matplotlib.dates import HourLocator, DateFormatter
plt.tick_params(direction='out', length=6, width=2, colors='r')

还可以使用Axes类对象的tick_params()方法或Axis类的set_tick_params()方法定制刻度的样式。

6.3.3 实例1:深圳市24小时的平均风速

本实例要求根据下表的数据,将时间列的数据作为x轴的刻度标签,将风速列的数据作为y轴的数据,使用plot()方法绘制反映深圳市24小时平均风速的折线图
在这里插入图片描述
在这里插入图片描述

# 01_average_wind_speed_in_shenzhen
import numpy as np
from datetime import datetime
import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter, HourLocator
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
dates = ['201910240','2019102402','2019102404','2019102406',
         '2019102408','2019102410','2019102412', '2019102414',
         '2019102416','2019102418','2019102420','2019102422','201910250' ]
x_date = [datetime.strptime(d, '%Y%m%d%H') for d in dates]
y_data = np.array([7, 9, 11, 14, 8, 15, 22, 11, 10, 11, 11, 13,  8])
fig = plt.figure()
ax = fig.add_axes((0.0, 0.0, 1.0, 1.0))
ax.plot(x_date, y_data, '->', ms=8, mfc='#FF9900')
ax.set_title(' 深圳市24小时的平均风速')
ax.set_xlabel('时间(h)')
ax.set_ylabel('平均风速(km/h)')
# 设置 x 轴主刻度的位置和格式
date_fmt = DateFormatter('%H:%M')
ax.xaxis.set_major_formatter(date_fmt)
ax.xaxis.set_major_locator(HourLocator(interval=2))
ax.tick_params(direction='in', length=6, width=2, labelsize=12)
ax.xaxis.set_tick_params(labelrotation=45)
plt.show()

输出如下:
在这里插入图片描述

6.4 隐藏轴脊

6.4.1 隐藏全部轴脊

matplotlib中的直角坐标系默认有4个轴脊,分别是上轴脊、下轴脊、左轴脊和右轴脊,其中上轴脊和右轴脊并不经常使用,有些情况下可以将上轴脊和右轴脊隐藏。
使用pyplot的axis()函数可以设置或获取一些坐标轴的属性,包括显示或隐藏坐标轴的轴脊。

axis(option, *args, **kwargs)

以上函数的参数option可以接收布尔值或字符串,其中布尔值True或False表示显示或隐藏轴脊及刻度;字符串通常是以下任一取值:
‘on’:显示轴脊和刻度,效果等同于True。
‘off’:隐藏轴脊和刻度,效果等同于False。
‘equal’:通过更改轴限设置等比例。
‘scaled’:通过更改绘图框的尺寸设置等比例。
‘tight’:设置足够大的限制以显示所有的数据。
‘auto’:自动缩放。
Axes类的对象也可以使用axis()方法隐藏坐标轴的轴脊

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpathes
polygon = mpathes.RegularPolygon(xy=(0.5, 0.5), numVertices=6, radius=0.2, color='g')
ax = plt.axes((0.3, 0.3, 0.5, 0.5))
ax.add_patch(polygon)
# 隐藏全部轴脊
ax.axis('off')
plt.show()
多学一招:patches模块

matplotlib.patches是专门用于绘制路径和形状的模块,该模块中提供了一些表示形状(诸如箭头、圆形、长方形等)的类,通过创建这些类的对象可以快速绘制常见的形状。常见形状对应的类及说明如下表所示。
在这里插入图片描述

以创建正多边形为例,RegularPolygon类构造方法的语法格式如下所示:

RegularPolygon(xy, numVertices, radius=5, orientation=0, **kwargs)

xy:表示中心点的元组(x,y) 。
numVertices:表示多边形顶点的数量。
radius:表示从中心点到每个顶点的距离。
orientation:表示多边形旋转的角度(以弧度为单位)。

polygon = mpathes.RegularPolygon((0.5, 0.5), numVertices=5, 
radius=0.3, color='y')

通过Axes对象的add_patch()方法将图形添加到画布中。

ax = plt.axes([0.3, 0.3, 0.5, 0.5])
ax.add_patch(polygon)

6.4.2 隐藏部分轴脊

matplotlib可以只隐藏坐标轴的部分轴脊,只需要访问spines属性先获取相应的轴脊,再调用set_color()方法将轴脊的颜色设为none即可。
在这里插入图片描述
matplotlib可以通过set_ticks_position()方法设置刻度线为’none’,通过set_yticklabels()方法设置刻度标签为空列表。
在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpathes
xy = np.array([0.5,0.5])
polygon = mpathes.RegularPolygon(xy, 5, radius=0.2,color='y')
ax = plt.axes((0.3, 0.3, 0.5, 0.5))
ax.add_patch(polygon)
# 依次隐藏上轴脊、左轴脊和右轴脊
ax.spines['top'].set_color('none')
ax.spines['left'].set_color('none')
ax.spines['right'].set_color('none')
# 插入如下代码
ax.yaxis.set_ticks_position('none')
ax.set_yticklabels([])
plt.show()

输出如下:
在这里插入图片描述

6.4.3 实例2:深圳市24小时的平均风速(隐藏部分轴脊)

在6.3.3小节的实例1中,折线图显示了全部的轴脊,但其内部的右轴脊和上轴脊并未起到任何作用,因此本实例要求隐藏折线图的右轴脊和上轴脊
在这里插入图片描述

# 02_average_wind_speed_in_shenzhen(2)
import numpy as np
from datetime import datetime
import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter, HourLocator
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
dates = ['201910240','2019102402','2019102404','2019102406',
         '2019102408','2019102410','2019102412', '2019102414',
         '2019102416','2019102418','2019102420','2019102422','201910250' ]
x_date = [datetime.strptime(d, '%Y%m%d%H') for d in dates]
y_data = np.array([7, 9, 11, 14, 8, 15, 22, 11, 10, 11, 11, 13,  8])
fig = plt.figure()
ax = fig.add_axes((0.0, 0.0, 1.0, 1.0))
ax.plot(x_date, y_data, '->', ms=8, mfc='#FF9900')
ax.set_title('深圳市24小时的平均风速')
ax.set_xlabel('时间(h)')
ax.set_ylabel('平均风速(km/h)')
date_fmt = DateFormatter('%H:%M')
ax.xaxis.set_major_formatter(date_fmt)
ax.xaxis.set_major_locator(HourLocator(interval=2))
ax.tick_params(direction='in', length=6, width=2, labelsize=12)
ax.xaxis.set_tick_params(labelrotation=45)
# 隐藏上轴脊和右轴脊
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
plt.show()    

输出入下:
在这里插入图片描述

6.5 移动轴脊

6.5.1 移动轴脊的位置

在这里插入图片描述
matplotlib的Spine类中提供了一个可以设置轴脊位置的set_position()方法,通过这个方法可以将轴脊放置到指定的位置,以满足一些特定场景的需求。

set_position(self, position)

以上方法的position参数表示轴脊的位置,它接收一个元组(position_type, amount),该元组中的第1个元素position_type代表位置的类型,第2个元素amount代表数量。
position_type支持以下任一取值。
‘outward’:表示将轴脊置于移出数据区域指定点数的位置。
‘axes’:表示将轴脊置于坐标系中的指定位置(amount范围为0.0~1.0)。
‘data’ :表示将轴脊置于指定的数据坐标的位置。
position参数还支持以下两个特殊的轴脊位置
‘center’:值为(‘axes’, 0.5)。
‘zero’ :值为(‘data’, 0.0)。
需要注意的是,轴脊刻度线和刻度标签的载体,当我们移动轴脊的位置时,刻度线和刻度标签会跟着轴脊的位置一起移动。

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

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpathes
xy = np.array([0.5,0.5])
polygon = mpathes.RegularPolygon(xy, 5, radius=0.2,color='y')
ax = plt.axes((0.3, 0.3, 0.5, 0.5))
ax.add_patch(polygon)
# 隐藏上轴脊和右轴脊
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
# 移动轴脊的位置
ax.spines['left'].set_position(('data', 0.5))
ax.spines['bottom'].set_position(('data', 0.5))
plt.show()
6.5.2 实例3:正弦与余弦曲线

正弦曲线和余弦曲线都属于周期性波浪线,它们在一个2π周期内重复出现。
在这里插入图片描述

本实例要求先生成100个位于-2 π和2 π之间的等差数列,再求等差数列中各个数值的正弦值和余弦值,根据这些正弦值和余弦值绘制曲线
在这里插入图片描述

# 03_sin_and_cos
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
x_data = np.linspace(-2 * np.pi, 2 * np.pi, 100)
y_one = np.sin(x_data)
y_two = np.cos(x_data)
fig = plt.figure()
ax = fig.add_axes((0.2, 0.2, 0.7, 0.7)) 
ax.plot(x_data, y_one, label='正弦曲线 ')
ax.plot(x_data, y_two, label='余弦曲线 ')
ax.legend()
ax.set_xlim(-2 * np.pi, 2 * np.pi)
ax.set_xticks([-2  * np.pi, -3 * np.pi / 2, -1 * np.pi, -1 * np.pi / 2, 
               0, np.pi / 2, np.pi, 3  * np.pi / 2, 2  * np.pi])
ax.set_xticklabels([r'$-2\pi$', r'$-3\pi/2$', r'$-\pi$', r'$-\pi/2$ ', r'$0$', 
                    r'$\pi/2$', r'$\pi$', r'$3\pi/2$', r'$2\pi$'])
ax.set_yticks([-1.0, -0.5, 0.0, 0.5, 1.0])
ax.set_yticklabels([-1.0, -0.5, 0.0, 0.5, 1.0])
# 隐藏右轴脊和上轴脊
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# 移动左轴脊和下轴脊的位置
ax.spines['left'].set_position(('data', 0))
ax.spines['bottom'].set_position(('data', 0))
plt.show()

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

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

相关文章

18认识Qt坐标系

平面直角坐标系(笛卡尔坐标系) 数学上的坐标系 右手坐标系 计算机中的坐标系 左手坐标系 坐标系的原点(0,0) 就是屏幕的左上角 /窗口的左上角 给 Qt 的某个控件,设置位置,就需要指定坐标.对于这个控件来说, 坐标系原点就是相对于父窗口/控件的. QPushButton 的父元素/父控件/父…

动态循环表单+动态判断表单类型+动态判断表单是否必填方法

页面效果&#xff1a; 接口请求到的数据格式&#xff1a; list: [{demandType: "设备辅助功能要求",demandSettingList: [{id: "1907384788664963074",name: "测试表单",fieldType: 0,contentValue: "",vaildStatus: 0, // 0 非必填&a…

25.4.3学习总结【Java】

又是一道错题&#xff1a; 1. 班级活动https://www.lanqiao.cn/problems/17153/learning/?page1&first_category_id1&sortdifficulty&asc1&second_category_id3 问题描述 小明的老师准备组织一次班级活动。班上一共有 n 名 (n 为偶数) 同学&#xff0c;老师…

运维之 Centos7 防火墙(CentOS 7 Firewall for Operations and Maintenance)

运维之 Centos7 防火墙 1.介绍 Linux CentOS 7 防火墙/端口设置&#xff1a; 基础概念&#xff1a; 防火墙是一种网络安全设备&#xff0c;用于监控和控制网络流量&#xff0c;以保护计算机系统免受未经授权的访问和恶意攻击。Linux CentOS 7操作系统自带了一个名为iptables的…

开发一个小程序需要多久时间?小程序软件开发周期

开发一个小程序所需时间受多种因素影响&#xff0c;以下为你详细列举&#xff1a; 一、需求复杂度。若只是简单展示类小程序&#xff0c;如企业宣传、产品介绍&#xff0c;功能单一&#xff0c;大概 1 - 2 周可完成。若涉及复杂交互&#xff0c;像电商小程序&#xff0c;涵盖商…

【数据结构篇】算法征途:穿越时间复杂度与空间复杂度的迷雾森林

文章目录 【数据结构篇】算法征途&#xff1a;穿越时间复杂度与空间复杂度的迷雾森林 一、 什么是算法1. 算法的定义1.1 算法的五个特征1.2 好算法的特质 2. 时间复杂度3. 空间复杂度 【数据结构篇】算法征途&#xff1a;穿越时间复杂度与空间复杂度的迷雾森林 &#x1f4ac;欢…

新增帧能耗指标|UWA Gears V1.0.9

UWA Gears 是UWA最新发布的无SDK性能分析工具。针对移动平台&#xff0c;提供了实时监测和截帧分析功能&#xff0c;帮助您精准定位性能热点&#xff0c;提升应用的整体表现。 本次版本更新主要新增帧能耗指标&#xff0c;帮助大家对每一帧的能耗进行精准监控&#xff0c;快速…

蓝桥杯嵌入式16届———LCD模块

LCD有官方给我们提供的库&#xff0c;我们使用其非常简单&#xff0c;唯一要注意的就是LCD和LED的引脚冲突。 引脚状况 STM32CubeMX 端口配置 使能 比赛给的选手 资源数据包中有以下三个文件&#xff0c;&#xff08;除去led相关的&#xff09;&#xff0c;将他们复制到自己…

CMake在Windows环境下Visual Studio Code的使用

1&#xff0c;安装下载 地址&#xff1a;Visual Studio Code - Code Editing. Redefined 双击安装 选择安装路径 可勾选微软的AI工具 2&#xff0c;环境介绍 2.1 &#xff0c;界面介绍 2.2中文包的安装 下载中文简体 汉化后的界面 2.3 配置C/C环境 VSCode安装好之后&#xf…

注意力机制在大语言模型中的原理与实现总结

注意力机制在大语言模型中的原理与实现总结 1. 章节介绍 在大语言模型的学习中&#xff0c;理解注意力机制至关重要。本章节旨在深入剖析注意力机制的原理及其在大语言模型中的应用&#xff0c;为构建和优化大语言模型提供理论与实践基础。通过回顾神经网络基础及传统架构的局…

大模型学习三:DeepSeek R1蒸馏模型组ollama调用流程

一、说明 目前DeepSeek R1及其蒸馏模型均支持使用ollama进行调用&#xff0c;可以在模型主页查看调用情况 deepseek-r1https://ollama.com/library/deepseek-r1 显存需求 &#xff0c;我们显存是16G&#xff0c;可以玩好几个 二、以14B模型演示 1、安装ollama curl -fsSL htt…

RAGFlow部署与使用介绍-深度文档理解和检索增强生成

ragflow部署与使用教程-智能文档处理与知识管理的创新引擎 1. ragflow简介 ​ RAGFlow作为新一代智能文档处理平台&#xff0c;深度融合检索增强生成&#xff08;RAG&#xff09;技术与自动化工作流引擎&#xff0c;为企业级知识管理提供全栈解决方案。通过结合多模态解析、语…

【AI赋能:58招聘数据的深度剖析之旅】

影刀出鞘&#xff0c;抓取数据 在当今数字化时代&#xff0c;数据分析已成为企业决策和发展的关键驱动力。而获取高质量的数据则是数据分析的首要任务。在这个信息爆炸的时代&#xff0c;网络上蕴含着海量的数据&#xff0c;其中招聘网站的数据对于人力资源分析、市场趋势研究…

几何法证明卡特兰数_栈混洗

模型&#xff1a; 考虑从坐标原点 (0, 0) 到点 (n, n) 的路径&#xff0c;要求路径只能向右&#xff08;x 方向&#xff09;或向上&#xff08;y 方向&#xff09;移动&#xff0c;并且路径不能越过直线 y x&#xff08;即始终满足 y< x &#xff09;。这样的路径数量就是…

Kafka的安装与使用(windows下python使用等)

一、下载 可以去官网下载&#xff1a;https://kafka.apache.org/downloads 版本可选择&#xff0c;建议下载比较新的&#xff0c;新版本里面自带zookeeper 二、安装 创建一个目录&#xff0c;此处是D:\kafka&#xff0c;将文件放进去解压 如果文件后缀是gz&#xff0c;解压…

数据结构初阶: 顺序表的增删查改

顺序表 概念 顺序表是⽤⼀段物理地址连续的存储单元依次存储数据元素的线性结构&#xff0c;⼀般情况下采⽤数组存储。如图1&#xff1a; 顺序表和数组有什么区别&#xff1f; 顺序表的底层是用数组实现的&#xff0c;是对数组的封装&#xff0c;实现了增删查改等接口。 分…

详解AI采集框架Crawl4AI,打造智能网络爬虫

大家好&#xff0c;Crawl4AI作为开源Python库&#xff0c;专门用来简化网页爬取和数据提取的工作。它不仅功能强大、灵活&#xff0c;而且全异步的设计让处理速度更快&#xff0c;稳定性更好。无论是构建AI项目还是提升语言模型的性能&#xff0c;Crawl4AI都能帮您简化工作流程…

【爬虫开发】爬虫开发从0到1全知识教程第14篇:scrapy爬虫框架,介绍【附代码文档】

本教程的知识点为&#xff1a;爬虫概要 爬虫基础 爬虫概述 知识点&#xff1a; 1. 爬虫的概念 requests模块 requests模块 知识点&#xff1a; 1. requests模块介绍 1.1 requests模块的作用&#xff1a; 数据提取概要 数据提取概述 知识点 1. 响应内容的分类 知识点&#xff1a…

SQLark:一款国产免费数据库开发和管理工具

SQLark&#xff08;百灵连接&#xff09;是一款面向信创应用开发者的数据库开发和管理工具&#xff0c;用于快速查询、创建和管理不同类型的数据库系统&#xff0c;目前可以支持达梦数据库、Oracle 以及 MySQL。 对象管理 SQLark 支持丰富的数据库对象管理功能&#xff0c;包括…

防爆对讲机VS非防爆对讲机,如何选择?

在通信设备的广阔市场中&#xff0c;对讲机以其高效、便捷的特点&#xff0c;成为众多行业不可或缺的沟通工具。而面对防爆对讲机与非防爆对讲机&#xff0c;许多用户常常陷入选择困境。究竟该如何抉择&#xff0c;且听我为您细细道来。 防爆对讲机&#xff0c;专为危险作业场…