plt.plot()函数中 曲线label 位置
时间: 2023-10-31 08:30:49 浏览: 208
曲线label可以通过plt.legend()函数来设置位置,如下所示:
```python
import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y = [1,4,9,16,25]
plt.plot(x, y, label='y=x^2')
plt.legend(loc='upper left') #设置label在左上角
plt.show()
```
其中,loc参数可以设置label的位置,常用的参数有:
- 'best': 自动选择最佳位置
- 'upper right': 右上角
- 'upper left': 左上角
- 'lower right': 右下角
- 'lower left': 左下角
- 'center': 中心位置
还可以通过loc的数字代码来指定位置,如下所示:
```python
plt.legend(loc=2) #设置label在左上角
```
其中,2表示左上角的位置。完整的数字代码对应的位置如下图所示:
![legend location](https://matplotlib.org/stable/_images/sphx_glr_legend_location_001.png)
相关问题
# 绘制损失函数曲线 plt.plot(train_losses, label='Train Loss') plt.plot(test_losses, label='Test Loss') plt.ylim([0, 1]) # 设置y轴范围为0~1 plt.legend() plt.show() # 绘制准确率曲线 plt.plot(train_accs, label='Train Acc') plt.plot(test_accs, label='Test Acc') plt.ylim([0, 1]) # 设置y轴范围为0~1 plt.legend() plt.show() 使曲线平滑
为了使曲线平滑,可以使用`plot()`函数的`smooth`参数,它可以控制曲线的平滑程度。可以将`smooth`参数设置为一个大于0的整数,代表对曲线进行平均滤波的窗口大小。较大的窗口大小会导致曲线更平滑,但可能会使曲线更加模糊。
以下是修改后的代码,将`plot()`函数的`smooth`参数设置为10:
``` python
import matplotlib.pyplot as plt
train_losses, train_accs, test_losses, test_accs = [], [], [], []
for epoch in range(100):
train_loss, train_acc = train(model, train_loader, criterion, optimizer)
test_loss, test_acc = test(model, test_loader, criterion)
train_losses.append(train_loss)
train_accs.append(train_acc)
test_losses.append(test_loss)
test_accs.append(test_acc)
print('Epoch: {} Train Loss: {:.4f} Train Acc: {:.4f} Test Loss: {:.4f} Test Acc: {:.4f}'.format(
epoch, train_loss, train_acc, test_loss, test_acc))
# 绘制损失函数曲线
plt.plot(train_losses, label='Train Loss', smooth=10)
plt.plot(test_losses, label='Test Loss', smooth=10)
plt.ylim([0, 1]) # 设置y轴范围为0~1
plt.legend()
plt.show()
# 绘制准确率曲线
plt.plot(train_accs, label='Train Acc', smooth=10)
plt.plot(test_accs, label='Test Acc', smooth=10)
plt.ylim([0, 1]) # 设置y轴范围为0~1
plt.legend()
plt.show()
```
这里将`plot()`函数的`smooth`参数设置为10,来对损失函数和准确率的曲线进行平滑处理。根据实际情况,可以适当调整`smooth`参数的大小,以得到更好的平滑效果。
predict = model.predict(test_x) plt.plot(predict, label='predict') plt.plot(test_y, label='ground true') plt.legend() plt.show()
这段代码是用来绘制预测值和真实值的曲线图。首先,`model.predict(test_x)`使用模型对测试数据进行预测,得到预测值。然后,通过调用`plt.plot()`函数将预测值和真实值分别绘制在同一张图上。`label='predict'`表示预测值的标签,`label='ground true'`表示真实值的标签。再次调用`plt.legend()`函数添加图例,并调用`plt.show()`函数显示图像。这样可以比较预测值和真实值之间的差异。
阅读全文