plt scatter 显示文字
时间: 2025-01-07 19:47:26 浏览: 10
### 如何在 Matplotlib Scatter 图表中添加文本标签
为了在 `matplotlib` 的散点图 (`scatter plot`) 中添加文本标签,可以通过 `plt.text()` 或者 `ax.annotate()` 方法来实现。下面展示了一个具体的例子,其中不仅包含了创建散点图的过程,还展示了如何向每个数据点添加对应的文本标签。
#### 创建带文本标签的散点图
```python
import matplotlib.pyplot as plt
import numpy as np
# 数据准备
np.random.seed(0)
x = np.random.rand(10)
y = np.random.rand(10)
labels = ['Point {0}'.format(i) for i in range(len(x))]
fig, ax = plt.subplots()
sc = ax.scatter(x, y)
for i, txt in enumerate(labels):
ax.text(x[i], y[i], txt)
plt.xlabel('X Axis Label')
plt.ylabel('Y Axis Label')
plt.title('Scatter Plot with Text Labels')
plt.show()
```
上述代码片段首先生成了一些随机的数据点用于绘制散点图,并为每一个点定义了唯一的标签字符串列表。接着,在循环遍历这些标签的同时,通过调用 `ax.text()` 函数将它们放置到对应的位置上[^2]。
如果希望增加更多的自定义选项,比如调整字体大小、颜色或是位置偏移量,则可以进一步优化标注的方式:
```python
for i, txt in enumerate(labels):
ax.annotate(txt,
(x[i], y[i]),
textcoords="offset points", # 坐标系转换方式
xytext=(0, 10), # 文本相对于标记点的位置偏移
ha='center', # 水平对齐方式
fontsize=8, # 字体大小
color='blue') # 颜色设置
```
这种方法提供了更灵活的方式来控制文本的具体样式和布局[^4]。
阅读全文