plt.scatter(data[:,0], data[:,1], s=3, c=labels, label='原始数据')中label的内容无法显示中午
时间: 2023-07-31 17:13:36 浏览: 223
这个问题可能是因为您的matplotlib库的默认字体不支持中文字符。您可以通过以下代码来解决这个问题:
```python
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
# 设置字体为SimHei,14号字体
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)
# 绘制散点图
plt.scatter(data[:, 0], data[:, 1], s=3, c=labels, label='原始数据')
# 设置图例字体为SimHei
plt.legend(prop=font)
# 显示图形
plt.show()
```
这样就可以使用SimHei字体来显示中文字符,并且设置图例的字体也为SimHei。如果您使用的是其他字体,只需要将`fname`参数的路径修改为对应字体文件的路径即可。
相关问题
plt.scatter(data[:,0], data[:,1], s=3, c=labels, label='原始数据')无法显示label的内容
这个问题可能是因为在绘图之前没有调用 `plt.legend()` 方法所导致的。你需要在绘制完散点图之后,调用 `plt.legend()` 方法来显示图例。例如:
```
import matplotlib.pyplot as plt
plt.scatter(data[:,0], data[:,1], s=3, c=labels, label='原始数据')
plt.legend()
plt.show()
```
注意,如果你在绘图之前已经调用了 `plt.figure()` 方法创建了一个新的画布,那么你需要在调用 `plt.legend()` 方法时指定图例所属的画布。例如:
```
fig = plt.figure()
ax = fig.add_subplot(111)
ax.scatter(data[:,0], data[:,1], s=3, c=labels, label='原始数据')
ax.legend()
plt.show()
```
希望这个解答能够帮助你解决问题。
plt.scatter(data[:,0], data[:,1], s=3, c=labels, label='原始数据')中label的内容无法显示中文
这个问题可能是因为您的matplotlib库的默认字体不支持中文字符。您可以通过以下代码来解决这个问题:
```python
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
# 设置字体为SimHei,14号字体
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)
# 绘制散点图
plt.scatter(data[:, 0], data[:, 1], s=3, c=labels, label='原始数据')
# 设置图例字体为SimHei
plt.legend(prop=font)
# 显示图形
plt.show()
```
这样就可以使用SimHei字体来显示中文字符,并且设置图例的字体也为SimHei。如果您使用的是其他字体,只需要将`fname`参数的路径修改为对应字体文件的路径即可。
阅读全文