Matplotlib库安装及使用、常用函数

作用:

Matplotlib是一个基于Python的绘图库,它提供了一套和MATLAB相似的命令API, 广泛应用于科学计算、数据分析、机器学习等领域,便于用户快速上手。

我们使用Matplotlib库时,更多的使用的是Matplotlib库下的pyplot模块, pyplot 模块包含了大量的绘图函数,这些函数能够快速地创建各种类型的图表,包括线图、 散点图、条形图、饼图等,并且Matplotlib库在绘制图像时,可以很好的与Numpy 库进行结合使用。 注意:在实际使用的过程中,通常将matplotlib.pyplot缩写为plt。

安装

Matplotlib库是一个第三方库,因此在使用时需要我们提前安装,安装的命令是在Anoconda Prompt命令行中输入

pip install matplotlib

conda install matplotlib

使用

在Pycharm中设置Python解释器,把Matplotlib装入

测试使用 

以下代码为基础的正弦图像,新建.py文件

import numpy as np
import matplotlib.pyplot as plt
# 计算曲线上的点的x和y坐标
x = np.arange(0, 3 * np.pi, 0.1) 
# 表示从 0 到 3π(约9.4248)之间以 0.1 为步长的数值序列;np.pi 是 NumPy 库中定义的一个常量,表示圆周率 π 的值
y = np.sin(x)
# 使用Matplotlib绘制点,并添加fmt和kwargs属性
# plt.plot(x, y, format_string, **kwargs)
"""
format_string:是一个可选的格式化字符串,用于指定线条的颜色、样式和标记点的形状。
			'r' 表示红色线条。
			'--' 表示虚线。
			'o' 表示圆圈标记。
			'r--' 表示红色虚线。
			'bo' 表示蓝色圆圈标记。
**kwargs:是关键字参数,用于进一步定制图形的外观
			label:图例标签。
			linewidth 或 lw:线条宽度。
			markersize 或 ms:标记点大小。
			alpha:透明度(0 到 1)
"""
plt.plot(x, y, '-', #用于绘制二维图形,如折线图、散点图等。
     label='Sine Wave', # 图例标签
     linewidth=2, # 线宽
     color='blue', # 线的颜色
     marker='o', # 标记样式
     markersize=5, # 标记的大小
     markeredgecolor='black', # 标记边缘的颜色
     markeredgewidth=1, # 标记边缘的宽度
     markerfacecolor='none', # 标记内部的颜色
     alpha=0.5 # 透明度
     )
# 显示图例
plt.legend()
# 显示图形
plt.show()

测试结果

如果出现AttributeError: 'FigureCanvasInterAgg' object has no attribute 'tostring_rgb'. Did you mean: 'tostring_argb'? 

这个其实是matplotlib 与 PyCharm 中的特定 matplotlib backend 不兼容引起的

解决办法

在Pycharm---文件---设置----工具----Python  Scientific中,取消工具窗口显示绘图的选项

散点图

在Matplotlib库中,使用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)
  • x , y : 数组或标量,代表散点图中每个点的 x 和 y 坐标。

  • s : 散点的大小。可以是一个标量或数组,用于指定每个点的大小。

  • c : 散点的颜色。可以是单个颜色,也可以是数组,为每个点指定颜色。如果提供 了 cmap 参数,则 c 可以是颜色映射的值。

  • marker : 散点的标记样式,例如 'o' 表示圆圈, 's' 表示正方形。

  • cmap : Colormap,用于将 c 中的数值映射到颜色。

  • norm : 用于标准化 c 的颜色数据的 Normalize 对象,确保数据在指定的范围内 映射到颜色映射。

  • vmin , vmax : 分别是 c 中数据的最小值和最大值,用于色彩映射。

  • alpha : 透明度,范围从 0(完全透明)到 1(完全不透明)。

  • linewidths : 散点边缘的线宽。

  • edgecolors : 散点边缘的颜色。

import numpy as np
import matplotlib.pyplot as plt

# 计算正弦曲线上的点的x和y坐标
x = np.arange(0, 3 * np.pi, 0.1)
y = np.sin(x)
# 创建一个颜色数组,基于y值映射到颜色
colors = y
# 绘制散点图,添加所有属性
plt.scatter(x, y,
      s=10,       # 散点的大小
      c=colors,     # 散点的颜色,这里使用y值映射颜色
      marker='o',    # 散点的标记样式
      cmap='viridis',  # 颜色映射
      norm=None,     # 默认的标准化
      vmin=-1,      # 颜色映射的最小值
      vmax=1,      # 颜色映射的最大值
      alpha=0.5,     # 透明度
      linewidths=0.5,  # 散点边缘的线宽
      edgecolors='w'   # 散点边缘的颜色
      )
# 添加颜色条
plt.colorbar()
# 显示图形
plt.show()

常用函数plot() 

matplotlib是 Python 中一个强大的绘图库,plot 函数是 matplotlib.pyplot 模块中最常用的函数之一,用于绘制折线图。下面从基本用法、参数详解、示例代码等方面详细介绍 plot 函数。

基本用法
plot函数可以接受多种形式的参数,以下是几种常见的调用方式:

import matplotlib.pyplot as plt
# 方式一:只传入 y 值,x 值默认为 [0, 1, 2, ..., len(y)-1]
y = [1, 3, 2, 4]
plt.plot(y)

# 方式二:传入 x 和 y 值
x = [1, 2, 3, 4]
y = [1, 3, 2, 4]
plt.plot(x, y)

# 方式三:同时绘制多条线
x1 = [1, 2, 3, 4]
y1 = [1, 3, 2, 4]
x2 = [1, 2, 3, 4]
y2 = [4, 2, 3, 1]
plt.plot(x1, y1, x2, y2)

plt.show()

 

 plot函数完整参数为:

plot(*args, scalex=True, scaley=True, data=None, **kwargs)

 位置参数 *args

可以传入一个或多个数组,具体情况如下:
                           一个数组:表示 y 值,x 值默认为 [0, 1, 2, ..., len(y)-1]。
                           两个数组:分别表示 x 和 y 值。
                           多个数组:可以同时绘制多条线,例如 plot(x1, y1, x2, y2, ...)

关键字参数 **kwargs:

用于设置线条的样式、颜色、标记等属性,常见的参数如下:
color 或 c:设置线条的颜色,可以是颜色名称(如 'red')、十六进制颜色码(如 '#FF0000')等。
linestyle 或 ls:设置线条的样式,常见值有 '-'(实线)、'--'(虚线)、'-.'(点划线)、':'(点线)。
linewidth 或 lw:设置线条的宽度,单位为磅。
marker:设置数据点的标记样式,常见值有 'o'(圆形)、's'(正方形)、'^'(三角形)等。
markersize 或 ms:设置标记的大小。
label:设置线条的标签,用于图例显示。

import matplotlib.pyplot as plt

# 准备数据
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]
y2 = [1, 3, 5, 7, 9]

# 绘制两条线,并设置不同的样式
plt.plot(x, y1, color='red', linestyle='--', linewidth=2, marker='o', markersize=8, label='Line 1')
plt.plot(x, y2, color='blue', linestyle='-.', linewidth=2, marker='s', markersize=8, label='Line 2')

# 添加标题和坐标轴标签
plt.title('Example Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')

# 显示图例
plt.legend()

# 显示网格
plt.grid(True)

# 显示图形
plt.show()

使用 plot 函数绘制了两条线,关键字参数设置了线条的颜色、样式、标记等属性。同时,添加了标题、坐标轴标签、图例和网格,使图形更加美观和易读。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玛卡巴卡ldf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值