在 Matplotlib 中向折线图添加数据标签
Adding data labels to line graph in Matplotlib
我很难设法将数据标签添加到我正在创建的 matplotlib 图。在条形图上我没有问题。
为了更容易排除故障,我尽可能地简化了它,但仍然存在同样的问题。
找了好久都没找到答案...
import matplotlib.pyplot as plt
dates = [10,11,12]
temp = [10,14,12]
temp_labels = plt.plot(dates,temp)
for x in temp_labels:
label = temp[x]
plt.annotate(label,
(x,temp[x]),
textcoords = "offset points"),
xytext = (0,10),
ha = "center")
plt.show()
我有一个错误:
Traceback (most recent call last):
File "rain_notif.py", line 16, in <module>
label = temp[x]
TypeError: list indices must be intergers or slices, not Line2D
这是我所拥有的,我只想在每个点的顶部标注 value 标签。
Figure without label
在您的代码中,temp_labels
是一个行列表,因此 x
是一个行对象,不能用于索引列表,如错误所示。从这里开始:
import matplotlib.pyplot as plt
dates = [10,11,12]
temp = [10,14,12]
plt.plot(dates,temp)
for x, y in zip(dates, temp):
label = y
plt.annotate(label, (x, y),
xycoords="data",
textcoords="offset points",
xytext=(0, 10), ha="center")
plt.show()
我很难设法将数据标签添加到我正在创建的 matplotlib 图。在条形图上我没有问题。 为了更容易排除故障,我尽可能地简化了它,但仍然存在同样的问题。
找了好久都没找到答案...
import matplotlib.pyplot as plt
dates = [10,11,12]
temp = [10,14,12]
temp_labels = plt.plot(dates,temp)
for x in temp_labels:
label = temp[x]
plt.annotate(label,
(x,temp[x]),
textcoords = "offset points"),
xytext = (0,10),
ha = "center")
plt.show()
我有一个错误:
Traceback (most recent call last):
File "rain_notif.py", line 16, in <module>
label = temp[x]
TypeError: list indices must be intergers or slices, not Line2D
这是我所拥有的,我只想在每个点的顶部标注 value 标签。 Figure without label
在您的代码中,temp_labels
是一个行列表,因此 x
是一个行对象,不能用于索引列表,如错误所示。从这里开始:
import matplotlib.pyplot as plt
dates = [10,11,12]
temp = [10,14,12]
plt.plot(dates,temp)
for x, y in zip(dates, temp):
label = y
plt.annotate(label, (x, y),
xycoords="data",
textcoords="offset points",
xytext=(0, 10), ha="center")
plt.show()