d2l.plot 函数的定义和用法
时间: 2024-02-13 13:01:54 浏览: 107
`d2l.plot` 函数是 D2L(动手学深度学习)开源书籍中自定义的一个函数,用于绘制多条曲线或散点图。下面是其定义和用法:
### 定义
```python
def plot(X, Y, xlabel=None, ylabel=None, legend=[], xlim=None,
ylim=None, xscale='linear', yscale='linear', fmts=None,
figsize=(3.5, 2.5), axes=None):
"""Plot multiple lines."""
set_figsize(figsize)
axes = axes if axes else plt.gca()
# Convert Y to a list if it's a NDArray to support multiple y-axes
if not isinstance(Y, list):
Y = [Y]
if fmts is None:
fmts = ['-'] * len(Y)
for x, y, fmt in zip(X, Y, fmts):
axes.plot(x.numpy(), y.numpy(), fmt)
set_axes(axes, xlabel, ylabel, xlim, ylim, xscale, yscale, legend)
```
其中,各参数的含义如下:
- `X`:x 轴的数据,通常是一个向量或数组。
- `Y`:y 轴的数据,可以是一个向量、数组或者多个向量/数组组成的列表。
- `xlabel`:x 轴的标签。
- `ylabel`:y 轴的标签。
- `legend`:图例的标签列表,长度应该与 `Y` 中的元素个数相同。
- `xlim`:x 轴的显示范围。
- `ylim`:y 轴的显示范围。
- `xscale`:x 轴的刻度类型,可以是 `'linear'`(线性刻度)或 `'log'`(对数刻度)。
- `yscale`:y 轴的刻度类型,可以是 `'linear'` 或 `'log'`。
- `fmts`:格式字符串列表,用于指定每条曲线的样式。如果为 `None`,则默认为实线 `'-'`。
- `figsize`:图像的大小。
- `axes`:要绘制的子图对象。如果为 `None`,则默认使用当前的子图。
### 用法
以下是一个简单的使用示例:
```python
import torch
import matplotlib.pyplot as plt
import d2l
x = torch.arange(0, 10, 0.1)
y1 = torch.sin(x)
y2 = torch.cos(x)
d2l.plot([x, x], [y1, y2], 'x', 'f(x)', legend=['sin(x)', 'cos(x)'])
plt.show()
```
该代码会绘制出两条曲线,分别为正弦函数和余弦函数。其中,`x` 是从 0 到 10 等间隔采样得到的数据点,`y1` 和 `y2` 分别为正弦函数和余弦函数在这些数据点上的取值。`d2l.plot` 函数将 `x` 和 `y1`、`y2` 作为参数传入,绘制出两条曲线,并且添加了图例、坐标轴标签等等。最后,使用 `plt.show()` 函数显示图像。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)