我需要在绘图功能之外为我的坐标点创建我的线标签。我有一个循环列表列表,为每个测试数据阶段创建单独的行:
fig = plt.figure(figsize=(11,8.5))
ax = fig.add_subplot(111)
list_of_x_points = [[1,2,3],[4,5,6,7,8],[9,10,11,12],...]
list_of_y_points = [[1,1,1],[2,2,2,2,2],[3,3,3,3],...]
for i in range(len(list_of_x_points)):
ax.plot(list_of_x_points[i], list_of_x_points[i], linecolor = "b" , linewidth = 1, linestyle = 'dashed'))
如果我在linestyle
之后插入了标签,则每次循环发生时都会打印标签。我只想打印一次。我在for循环之后和之后尝试了ax.legend(['Line Name'])
,但它不起作用。如何为图表中的线指定标签?图表看起来像这样:
答案 0 :(得分:0)
正如所指出的那样,我创建了一个可测试版本的代码,而ax.legend()
正常工作。
fig = plt.figure(figsize=(11,8.5))
ax = fig.add_subplot(111)
list_of_x_points = [[1,2,3],[4,5,6,7,8],[9,10,11,12]]
list_of_y_points = [[1,1,1],[2,2,2,2,2],[3,3,3,3]]
for i in range(len(list_of_x_points)):
ax.plot(list_of_x_points[i], list_of_x_points[i], "-b" , linewidth = 1, linestyle = 'dashed')
ax.legend(['Print this'])
plt.show()
仍然没有理解我的原始代码出了什么问题,我一直在寻找并找到一个明显的答案:
for i in range(len(list_of_x_points)):
ax.plot(list_of_x_points[i], list_of_x_points[i], "-b" , linewidth = 1, linestyle = 'dashed', label = "Print this" if i == 0 else "")
ax.legend()
plt.show()
我不知道这是否被认为是不好的做法,所以我想要一些有关背面的反馈,但确实有效。