import random import matplotlib.pyplot as plt import numpy as np # 生成随机数据 # data = [] # for i in range(10): # data.append(random.randint(1, 100)) X=[30, 60, 90, 120, 150, 180, 210] Y1=[0.3, 0.5, 0.6, 0.7, 0.7, 0.8, 0.9] Y2=[1.5, 11.3, 25.7, 58.3, 202.6, 345.2, 456.6] # 绘制直线图 # plt.plot(range(1, 11), data) plt.plot(X, Y1, label='“多轮循环探索”运行时间') plt.plot(X, Y2, label='最优算法运行时间') plt.xlabel("t_i数量/个") plt.ylabel("时间/min") # plt.title() plt.legend() plt.show(),错在哪里,为什为labelh和x,y轴的名称中不能显示汉字?如何能把ti中i放在t的下角标处
时间: 2023-09-22 19:15:33 浏览: 121
这段代码存在几个错误:
1. 需要在 import random 之后和 import matplotlib.pyplot as plt 之前加上换行符。
2. `Y1` 和 `Y2` 的数值中包含了中文引号,需要将其替换为英文引号。
3. 在 `plt.xlabel("t_i数量/个")` 和 `plt.ylabel("时间/min")` 中使用了中文字符,需要在代码开头添加 `# -*- coding: utf-8 -*-`,以指定编码格式为 utf-8。
4. 想要将 ti 中的 i 放在 t 的下角标处,可以使用 LaTeX 语法,将 `plt.xlabel("t_i数量/个")` 改为 `plt.xlabel("$t_{i}$数量/个")`,即可实现。
以下是修改后的代码:
```python
import random
import matplotlib.pyplot as plt
import numpy as np
# 生成随机数据
# data = []
# for i in range(10):
# data.append(random.randint(1, 100))
X=[30, 60, 90, 120, 150, 180, 210]
Y1=[0.3, 0.5, 0.6, 0.7, 0.7, 0.8, 0.9]
Y2=[1.5, 11.3, 25.7, 58.3, 202.6, 345.2, 456.6]
# 绘制直线图
# plt.plot(range(1, 11), data)
plt.plot(X, Y1, label='多轮循环探索运行时间')
plt.plot(X, Y2, label='最优算法运行时间')
plt.xlabel("$t_{i}$数量/个")
plt.ylabel("时间/min")
# plt.title()
plt.legend()
plt.show()
```
运行后,可以得到正确的图形,并且 x 轴的标签中 ti 的下角标也已经显示出来了。
阅读全文