matplotlib最详细介绍

matplotlib最详细介绍

一、plot函数

1、plot() 函数是 matplotlib 中最常用的函数之一,用于绘制二维图形,通常用于绘制折线图。它非常灵活,可以绘制简单的线条图、点线图、以及多种样式的图形。

plot() 函数的基本语法:

matplotlib.pyplot.plot(*args, **kwargs)
参数详解:
  • \*args: 位置参数,可以传入以下几种格式:
    1. plot([x], y):传入 x 和 y 的数据列表,如果 x 省略,则默认使用索引作为 x 轴数据。
    2. plot([x], y, [format])[format] 用来设置线条和点的样式(如颜色、线型、标记等)。
  • \**kwargs: 关键字参数,可以用来设置线条的属性,如颜色、线型、线宽、标记样式等。

常用的关键字参数:

  • color: 设置线条颜色,可以使用颜色的名称、RGB 颜色值或十六进制表示法。
  • linestyle: 设置线条样式,如 '-'(实线)、'--'(虚线)、'-.'(点划线)、':'(点线)。
  • linewidth: 设置线条宽度,以点为单位。
  • marker: 设置数据点的标记样式,如 '.'(点)、'o'(圆圈)、's'(方块)、'^'(三角形)等。
  • markersize: 设置标记的大小。
  • markerfacecolor: 设置标记内部的颜色。
  • markeredgecolor: 设置标记边缘的颜色。
  • label: 设置曲线的标签,用于图例显示。

二、tick_params函数

tick_params() 函数是 matplotlib 中一个用于控制图表中坐标轴刻度线和刻度标签外观的函数。你可以通过它来调整刻度线的方向、颜色、粗细、长度,以及刻度标签的字体大小、字体颜色等。``

import matplotlib.pyplot as plt

# 生成简单的折线图
plt.plot([0, 1, 2, 3], [0, 1, 4, 9])

# 调整刻度参数
plt.tick_params(
    axis='both',        # 同时设置 x 轴和 y 轴
    which='major',      # 仅应用于主要刻度
    direction='inout',  # 刻度线同时向内向外
    length=10,          # 刻度线长度
    width=2,            # 刻度线宽度
    colors='r',         # 刻度线和标签的颜色为红色
    labelsize=14,       # 刻度标签的字体大小
    labelcolor='blue',  # 刻度标签的字体颜色
    bottom=True,        # 显示 x 轴下方的刻度线
    top=True,           # 显示 x 轴上方的刻度线
    left=True,          # 显示 y 轴左侧的刻度线
    right=True          # 显示 y 轴右侧的刻度线
)

plt.show()

三、legend函数

legend() 函数用于显示图表中的图例(legend)。当你绘制多条曲线或多个数据集时,通过 legend() 函数可以为每条曲线或数据集加上标签,方便区分不同的数据。

常见用法:
  • 在调用 plot() 时设置 label 参数,并在之后调用 legend() 函数显示图例。
例子:
import matplotlib.pyplot as plt

x = [0, 1, 2, 3]
y1 = [0, 1, 4, 9]
y2 = [0, 1, 2, 3]

plt.plot(x, y1, label='Quadratic')  # 为第一条曲线设置标签
plt.plot(x, y2, label='Linear')     # 为第二条曲线设置标签

plt.legend()  # 显示图例
plt.show()    # 显示图表
legend() 的参数:
  • loc: 设置图例的位置,如 'upper right', 'lower left' 等。
  • fontsize: 设置图例的字体大小。
  • title: 为图例添加标题。
  • frameon: 设置是否显示图例的边框。

legend() 函数在显示图例时可以根据图例的标签自动生成图例,通常配合 label 参数一起使用。

四、scatter函数

scatter() 函数在 matplotlib 中用于绘制散点图。与 plot() 函数不同,scatter() 更适合展示离散的数据点,特别是当你需要根据数据的特性来调整每个点的颜色、大小或形状时。

scatter() 函数的基本语法:

matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None, **kwargs)

参数详解:

1. x, y(必选参数):
  • 分别表示每个数据点的 x 坐标和 y 坐标。它们可以是列表、NumPy 数组或 Pandas 系列。
2. s(可选):
  • s 表示每个散点的大小。可以是一个数值(所有点同样大小),也可以是一个数组(每个点不同大小)。
  • 默认单位是像素面积。

示例

s = [20, 50, 100, 200]  # 每个点的大小不同
3. c(可选):
  • c 用于设置散点的颜色。可以是单个颜色值(如 ‘red’ 或 ‘#FF0000’),也可以是一个数组(每个点不同颜色)。
  • c 是数组时,通常与 cmap(颜色映射)配合使用。

示例:

c = [10, 20, 30, 40]  # 每个点的颜色值不同,可以通过 cmap 映射到具体颜色
4. marker(可选):
  • 用于设置散点的形状(标记样式)。常见的标记符号包括:
    • 'o':圆点
    • 's':方块
    • '^':上三角
    • 'v':下三角
    • 'D':菱形
    • '+':加号
  • 还有其他更多选项,允许你自定义数据点的形状。

示例

marker = 'o'  # 使用圆形标记
5. cmap(可选):
  • c 是数值数组时,cmap 用于将这些数值映射到指定的颜色图。常见的颜色映射有 'viridis', 'plasma', 'coolwarm', 'rainbow' 等。

示例

cmap='viridis'  # 使用 'viridis' 颜色映射
6. alpha(可选):
  • 控制散点的透明度,取值范围为 0 到 1,值越低越透明。

示例

alpha=0.5  # 设置点的透明度为 50%
7. edgecolors(可选):
  • 控制散点的边框颜色。常见取值包括 'face'(与散点颜色一致)、'none'(无边框)、以及具体颜色(如 ‘black’)。
8. linewidths(可选):
  • 设置散点边框的宽度。

五、savefig函数

savefig() 函数的基本语法:

matplotlib.pyplot.savefig(fname, dpi=None, bbox_inches=None, pad_inches=0.1, transparent=False, format=None, **kwargs)

参数详解:

  1. fname(必选):

    • 文件名和路径,可以是相对路径或绝对路径。
    • 文件名的扩展名决定了保存的文件格式(如 .png, .jpg, .pdf, .svg 等)。
  2. dpi(可选):

    • 指定图像的分辨率,以每英寸点数(DPI)为单位。默认值是 100 DPI。
    • 增加 DPI 可以提升图像质量,适合打印或高质量输出。
  3. bbox_inches(可选):

    • 指定保存的图像边界框,常见取值有 'tight',可以自动调整边距,以包含所有内容(包括图例和标签)。
  4. pad_inches(可选):

    • 设置额外的边距,单位为英寸。常与 bbox_inches='tight' 配合使用。
  5. transparent(可选):

    • 如果设置为 True,图像背景将变为透明,特别适合保存图像用于网页或其他设计项目。
  6. format(可选):

    • 指定保存的文件格式(如 'png', 'pdf', 'svg' 等)。一般情况下,savefig 会根据文件扩展名自动识别格式,但你也可以手动指定。
  7. 其他常用关键字参数

    • quality:指定 JPEG 图像的质量(取值 1 到 95)。
    • optimize:在保存 JPEG 或 PNG 图像时优化文件大小。
    • facecoloredgecolor:自定义背景颜色和边框颜色。

    示例:

    import matplotlib.pyplot as plt
    
    x = [0, 1, 2, 3, 4]
    y = [0, 1, 4, 9, 16]
    
    plt.plot(x, y)
    
    # 保存图像
    plt.savefig('output.png', dpi=300, bbox_inches='tight', transparent=False)
    
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值