网络爬虫 Matplotlib

Matplotlib介绍

Matplotlib是Python的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。Matplotlib可以用来绘制各种静态,动态,交互式的图表。Matplotlib是一个非常强大的Python画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。Matplotlib可以绘制线图、散点图、等高线图、条形图、柱状图、3D图形、甚至是图形动画等等。

Matplotlib应用
 

Matplotlib通常与NumPy和SciPy(ScientificPython)一起使用,这种组合广泛用于替代MatLab,是一个强大的科学计算环境,有助于我们通过Python学习数据科学或者机器学习。SciPy是一个开源的Python算法库和数学工具包。SciPy包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算

Matplotlib 安装

升级 pip:

python3 -m pip install -U pip

安装 matplotlib 库:

python3 -m pip install -U matplotlib

安装完成后,我们就可以通过 import 来导入 matplotlib 库:

import matplotlib

以下实例,我们通过导入 matplotlib 库,然后查看 matplotlib 库的版本号:

实例

import matplotlib
 
print(matplotlib.__version__)

执行以上代码,输出结果如下:

3.4.2

Matplotlib Pyplot
Pyplot 是 Matplotlib 的子库,提供了和 MATLAB 类似的绘图 API。

Pyplot 是常用的绘图模块,能很方便让用户绘制 2D 图表。

Pyplot 包含一系列绘图函数的相关函数,每个函数会对当前的图像进行一些修改,例如:给图像加上标记,生新的图像,在图像中产生新的绘图区域等等。

使用的时候,我们可以使用 import 导入 pyplot 库,并设置一个别名 plt:

import matplotlib.pyplot as plt

这样我们就可以使用 plt 来引用 Pyplot 包的方法。

以下实例,我们通过两个坐标 (0,0) 到 (6,100) 来绘制一条线:

实例

import matplotlib.pyplot as plt
import numpy as np
 
xpoints = np.array([0, 6])
ypoints = np.array([0, 100])
 
plt.plot(xpoints, ypoints)
plt.show()

输出结果如下所示:

 

以上实例中我们使用了 Pyplot 的 plot() 函数, plot() 函数是绘制二维图形的最基本函数。

plot() 用于画图它可以绘制点和线,语法格式如下:

# 画单条线
plot([x], y, [fmt], *, data=None, **kwargs)# 画多条线
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

参数说明:

x, y:点或线的节点,x 为 x 轴数据,y 为 y 轴数据,数据可以列表或数组。
fmt:可选,定义基本格式(如颜色、标记和线条样式)。
**kwargs:可选,用在二维平面图上,设置指定属性,如标签,线的宽度等。
>>> plot(x, y)        # 创建 y 中数据与 x 中对应值的二维线图,使用默认样式
>>> plot(x, y, 'bo')  # 创建 y 中数据与 x 中对应值的二维线图,使用蓝色实心圈绘制
>>> plot(y)           # x 的值为 0..N-1
>>> plot(y, 'r+')     # 使用红色 + 号

颜色字符:'b' 蓝色,'m' 洋红色,'g' 绿色,'y' 黄色,'r' 红色,'k' 黑色,'w' 白色,'c' 青绿色,'#008000' RGB 颜色符串。多条曲线不指定颜色时,会自动选择不同颜色。

线型参数:'‐' 实线,'‐‐' 破折线,'‐.' 点划线,':' 虚线。

标记字符:'.' 点标记,',' 像素标记(极小点),'o' 实心圈标记,'v' 倒三角标记,'^' 上三角标记,'>' 右三角标记,'<' 左三角标记...等等。

如果我们要绘制坐标 (1, 3) 到 (8, 10) 的线,我们就需要传递两个数组 [1, 8] 和 [3, 10] 给 plot 函数:

实例

import matplotlib.pyplot as plt
import numpy as np
 
xpoints = np.array([1, 8])
ypoints = np.array([3, 10])
 
plt.plot(xpoints, ypoints)
plt.show()

以上代码输出结果为:

 

如果我们只想绘制两个坐标点,而不是一条线,可以使用 o 参数,表示一个实心圈的标记:

绘制坐标 (1, 3) 和 (8, 10) 的两个点

import matplotlib.pyplot as plt
import numpy as np
 
xpoints = np.array([1, 8])
ypoints = np.array([3, 10])
 
plt.plot(xpoints, ypoints, 'o')
plt.show()

以上代码输出结果为:

 

我们也可以绘制任意数量的点,只需确保两个轴上的点数相同即可。

绘制一条不规则线,坐标为 (1, 3) 、 (2, 8) 、(6, 1) 、(8, 10),对应的两个数组为:[1, 2, 6, 8] 与 [3, 8, 1, 10]。

实例

import matplotlib.pyplot as plt
import numpy as np
 
xpoints = np.array([1, 2, 6, 8])
ypoints = np.array([3, 8, 1, 10])
 
plt.plot(xpoints, ypoints)
plt.show()

 以上代码输出结果为:

 

如果我们不指定 x 轴上的点,则 x 会根据 y 的值来设置为 0, 1, 2, 3..N-1

实例

import matplotlib.pyplot as plt
import numpy as np
 
ypoints = np.array([3, 10])
 
plt.plot(ypoints)
plt.show()

以上代码输出结果为:

 

从上图可以看出 x 的值默认设置为 [0, 1]

再看一个有更多值的实例:

实例

import matplotlib.pyplot as plt
import numpy as np
 
ypoints = np.array([3, 8, 1, 10, 5, 7])
 
plt.plot(ypoints)
plt.show()

以上代码输出结果为:

 

从上图可以看出 x 的值默认设置为 [0, 1, 2, 3, 4, 5]

以下实例我们绘制一个正弦和余弦图,在 plt.plot() 参数中包含两对 x,y 值,第一对是 x,y,这对应于正弦函数,第二对是 x,z,这对应于余弦函数。

实例

import matplotlib.pyplot as plt
import numpy as np
 
x = np.arange(0,4*np.pi,0.1)   # start,stop,step
y = np.sin(x)
z = np.cos(x)
plt.plot(x,y,x,z)
plt.show()

以上代码输出结果为:

 

Matplotlib 绘图标记

绘图过程如果我们想要给坐标自定义一些不一样的标记,就可以使用 plot() 方法的 marker 参数来定义。

以下实例定义了实心圆标记:

实例

import matplotlib.pyplot as plt
import numpy as np
 
ypoints = np.array([1,3,4,5,8,9,6,1,3,4,5,2,4])
 
plt.plot(ypoints, marker = 'o')
plt.show()

显示结果如下:

 marker 可以定义的符号如下:

 

 

以下实例定义了 * 标记:

实例

import matplotlib.pyplot as plt
import numpy as np
 
ypoints = np.array([1,3,4,5,8,9,6,1,3,4,5,2,4])
 
plt.plot(ypoints, marker = '*')
plt.show()

显示结果如下:

 

以下实例定义了下箭头:

实例

import matplotlib.pyplot as plt
import matplotlib.markers
 
plt.plot([1, 2, 3], marker=matplotlib.markers.CARETDOWNBASE)
plt.show()

显示结果如下:

fmt 参数

fmt 参数定义了基本格式,如标记、线条样式和颜色。

fmt = '[marker][line][color]'

例如 o:ro 表示实心圆标记,: 表示虚线,r 表示颜色为红色。

实例

import matplotlib.pyplot as plt
import numpy as np
 
ypoints = np.array([6, 2, 13, 10])
 
plt.plot(ypoints, 'o:r')
plt.show()

显示结果如下:

 线类型:

线类型标记

描述
'-' 实线
':' 虚线
'--' 破折线
'-.' 点划线

颜色类型:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 爬虫是指利用程序自动化地从互联网上获取数据的一种技术手段。而Matplotlib是一个Python的绘图库,其提供了许多用于绘制各种类型图形的函数和方法。爬虫Matplotlib结合使用可以帮助我们更好地分析和呈现爬取到的数据。 首先,爬虫可以帮助我们从互联网上获取各种有价值的数据,比如股票价格、天气数据、新闻等等。而Matplotlib可以让我们将这些数据可视化,方便我们更好地理解和分析这些数据。我们可以使用Matplotlib绘制折线图、柱状图、饼图等等来展示所爬取到的数据。 其次,爬虫可以获取大量的数据并进行存储和分析。而Matplotlib可以通过绘制不同类型的图形来进行数据分析,比如绘制折线图可以观察数据的趋势和变化,绘制柱状图可以比较不同数据之间的大小关系,绘制饼图可以展示数据的占比等等。 此外,Matplotlib还提供了许多定制化的功能,可以让我们对图形进行个性化的设计和美化。我们可以调整坐标轴的刻度和标签,设置图形的标题和图例,选择合适的颜色和样式等等,使得我们绘制出来的图形更加美观和直观。 综上所述,爬虫Matplotlib结合使用可以帮助我们更好地分析和呈现爬取到的数据。通过Matplotlib的各种绘图功能,我们可以将爬取到的数据直观地展示出来,更好地理解和分析数据。 ### 回答2: 爬虫是一种自动化的程序,用于从互联网上爬取数据。Matplotlib是一个数据可视化的库,可以用来创建各种类型的图表和图形。那么爬虫Matplotlib如何结合使用呢? 首先,爬虫可以用来从网上获取数据,并将其保存到本地。例如,我们可以使用爬虫从某个网站上爬取股票数据,并将其保存到本地的CSV文件中。接下来,我们可以使用Matplotlib读取这个CSV文件,并通过绘制线性图或柱状图来展示股票价格的变化趋势。 其次,爬虫还可以用来从网上获取数据,并将其直接传递给Matplotlib进行可视化。例如,我们可以使用爬虫从某个网站上爬取某个地区的天气数据,然后将这些数据直接传递给Matplotlib的绘图函数,绘制出该地区未来一周的天气情况。 此外,爬虫还可以用来从网上获取图片数据,并通过Matplotlib进行图像处理和可视化。例如,我们可以使用爬虫从某个图片分享网站上爬取猫的图片,然后使用Matplotlib的图像处理函数对这些图片进行裁剪、缩放或者滤镜处理,并最终通过Matplotlib展示处理后的图片。 总之,爬虫Matplotlib相结合可以帮助我们更好地利用互联网中的数据资源,并将其转化为可视化的图表或图形,从而更直观地展示数据的分布、趋势或者其他特征。通过爬虫Matplotlib,我们可以更方便地进行数据分析和数据可视化,并从中获得更多的洞察与启发。 ### 回答3: 爬虫是一种通过程序自动获取网页上的信息的技术。而matplotlib是一个Python绘图库,用于创建高质量的可视化图表和数据图。爬虫matplotlib可以结合使用,用来获取数据并进行可视化分析。 首先,爬虫可以帮助我们从网络上收集数据。通过爬虫程序,我们可以自动化地访问网页,提取和抓取需要的数据,例如股票价格、天气数据、新闻标题等。这些数据可以存储为CSV、JSON或其他格式。然后,我们可以使用matplotlib将这些数据可视化为柱状图、折线图、散点图等,以便更直观地分析和展示数据。 其次,爬虫爬取的数据可以作为matplotlib绘图的输入。当我们需要绘制图表时,可以从保存的数据文件中读取数据,并使用matplotlib的功能进行绘图。例如,我们可以使用爬虫获取每天的天气数据,并将其可视化为折线图,以便更好地了解气温变化趋势。 此外,爬虫还可以获取图片数据。例如,我们可以使用爬虫下载网络上的图片,并使用matplotlib进行图像处理和分析。我们可以使用matplotlib绘制直方图、分布图、颜色映射图等,来研究图片的特征和分布情况。 总之,爬虫matplotlib的结合可以帮助我们更好地获取、整理和可视化数据。可以通过自动化的爬虫程序,从网络上获取数据,并使用matplotlib进行数据可视化和图表展示,使数据更加直观可理解,有助于数据分析和决策。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值