是否可以在图表上在其旁边显示每个点的值:
点上显示的值为: [7,57,121,192,123,240,546]
values = list(map(lambda x: x[0], result)) #[7, 57, 121, 192, 123, 240, 546]
labels = list(map(lambda x: x[1], result)) #['1950s', '1960s', '1970s', '1980s', '1990s', '2000s', '2010s']
plt.plot(labels, values, 'bo')
plt.show()
这是此图表的当前代码。
我想知道图中显示的每个点值,目前我只能基于y轴预测值。
答案 0 :(得分:1)
根据您的价值观,以下是一种使用plt.text
fig = plt.figure()
ax = fig.add_subplot(111)
values = [7, 57, 121, 192, 123, 240, 546]
labels = ['1950s', '1960s', '1970s', '1980s', '1990s', '2000s', '2010s']
plt.plot(range(len(labels)), values, 'bo') # Plotting data
plt.xticks(range(len(labels)), labels) # Redefining x-axis labels
for i, v in enumerate(values):
ax.text(i, v+25, "%d" %v, ha="center")
plt.ylim(-10, 595)
输出
答案 1 :(得分:0)
基于plt.annotate
fig = plt.figure()
ax = fig.add_subplot(111)
values = [7, 57, 121, 192, 123, 240, 546]
labels = ['1950s', '1960s', '1970s', '1980s', '1990s', '2000s', '2010s']
plt.plot(range(len(labels)), values, 'bo') # Plotting data
plt.xticks(range(len(labels)), labels) # Redefining x-axis labels
for i, v in enumerate(values):
ax.annotate(str(v), xy=(i,v), xytext=(-7,7), textcoords='offset points')
plt.ylim(-10, 595)
输出: