4

我目前正在使用以下代码使用 python pyplot 绘制图形:

  plt.plot([row[2] for row in data],[row[1] for row in data], type, marker='o', label=name)  

'o'但是,我希望点处的标记不是默认标记,而是row[1]

有人可以解释如何做到这一点吗?

4

1 回答 1

10

所以你想注释你的直线上的点的 y 值?

用于annotate每个点。例如:

import matplotlib.pyplot as plt

x = range(10)
y = range(10)

fig, ax = plt.subplots()

# Plot the line connecting the points
ax.plot(x, y)

# At each point, plot the y-value with a white box behind it
for xpoint, ypoint in zip(x, y):
    ax.annotate('{:.2f}'.format(ypoint), (xpoint,ypoint), ha='center', 
                va='center', bbox=dict(fc='white', ec='none'))

# Manually tweak the limits so that our labels are inside the axes...
ax.axis([min(x) - 1, max(x) + 1, min(y) - 1, max(y) + 1])
plt.show()

在此处输入图像描述

于 2012-05-28T03:13:36.273 回答