【发布时间】:2019-11-28 04:15:44
【问题描述】:
我有一个包含 3 个字典的列表,每个字典都有多个值。 我想创建一个图表,其中每个键都是由其值形成的不同颜色的线(比如 r、g、b)。我还想要每一行的图例。
这是我开始使用的代码:
plt.figure(figsize=(14,8))
plt.title('Grafico ripetizioni per linea')
plt.xlabel('numero caratteri')
plt.ylabel('ripetizioni per linea')
for k in dd.keys():
plt.locator_params(axis='y', nbins=15)
for v in dd.values():
plt.locator_params(axis='x', nbins=30)
xs = range(0, len(v))
ys = v
plt.plot(xs, ys, label='chiave' + str(k))
plt.minorticks_on()
plt.margins(x=0)
plt.show()
我得到了一个带有不同颜色的三条线的图,但是 不知道如何为每一行指定颜色和标签。
【问题讨论】:
-
您正在使用
k作为绘图标签,但是在创建绘图时,您使用变量v在dd.values()的嵌套循环中进行迭代。我认为您的标签应该是label='chiave'+str(v)(或其他名称,但绝对不是k,没有数据很难判断。但k在您的for v in dd.values()循环中是不变的) -
实际上 K 是一个循环 3 个键的变量,每个键的 v 是绘制在 y 轴上的值,而 x 轴表示文本的长度。这就是为什么有一个嵌套循环。
标签: python matplotlib