Python 使用不同颜色的多个值打印字典

Python 使用不同颜色的多个值打印字典,python,dictionary,matplotlib,plot,colors,Python,Dictionary,Matplotlib,Plot,Colors,有没有办法用不同颜色的多个值绘制字典?假设我们有一本字典: d = {"alpha": [1,2,3,4], "beta": [5,6,7,8]} 一个人怎么能画出α[0],β[0]。。。蓝色和alpha[1],beta[1]。。。。黄色等等 假设值在y轴上,关键点在x轴上。 我的代码如下所示: x_multi = [] y_multi = [] for k, v in data_all_bands.iteritems(): x_multi.extend(list(itertools.

有没有办法用不同颜色的多个值绘制字典?假设我们有一本字典:

d = {"alpha": [1,2,3,4], "beta": [5,6,7,8]}
一个人怎么能画出α[0],
β[0]
。。。蓝色和
alpha[1]
beta[1]
。。。。黄色等等

假设值在y轴上,关键点在x轴上。 我的代码如下所示:

x_multi = []
y_multi = []
for k, v in data_all_bands.iteritems():
    x_multi.extend(list(itertools.repeat(int(k[-3:]), len(v))))
    y_multi.extend(v)

plt_multi = axes[0].scatter(x_multi, y_multi)
2016050 [4.2958281793198241, 3.7025449821599157, 5.1717757645735025, 4.9954723025001719]
2016178 [4.0679016016577032, 2.890807214158575, 4.9627629940324081, 4.8505350289087952]
2016290 [3.6947496139720259, 3.1549071645707891, 4.5131724769284824, 4.4082219917836483]
其中,所有波段的数据如下所示:

x_multi = []
y_multi = []
for k, v in data_all_bands.iteritems():
    x_multi.extend(list(itertools.repeat(int(k[-3:]), len(v))))
    y_multi.extend(v)

plt_multi = axes[0].scatter(x_multi, y_multi)
2016050 [4.2958281793198241, 3.7025449821599157, 5.1717757645735025, 4.9954723025001719]
2016178 [4.0679016016577032, 2.890807214158575, 4.9627629940324081, 4.8505350289087952]
2016290 [3.6947496139720259, 3.1549071645707891, 4.5131724769284824, 4.4082219917836483]

以下是一种使用预先指定的颜色列表并以不同颜色打印每个关键点的值的方法。这样,您就不需要定义任何空列表
x\u multi
y\u multi

fig = plt.figure()
ax = fig.add_subplot(111)
colors = ['blue', 'yellow', 'green']
i = 0
for k, v in data_all_bands.items():
    x_multi = list(itertools.repeat(int(k[-3:]), len(v)))
    plt_multi = ax.scatter(x_multi, v, color=colors[i])
    i += 1

方式2因为不清楚您想要的颜色顺序

x_multi = [int(k[-3:]) for k in data_all_bands.keys()] 
colors = ['blue', 'yellow', 'green', 'red']

for i in range(len(list(data_all_bands.values())[0])):
    y_multi = [v[i] for v in data_all_bands.values()]
    plt_multi = ax.scatter(x_multi, y_multi, color=colors[i])

这是一个有趣的解决方案,谢谢!即使我能从你的方法中看到正确的解决方案,也许你可以改变颜色,使alpha[0]、beta[0]、gamma[0]为蓝色,alpha[1]、beta[1]、gamma[1]为黄色等。这样可以回答我的问题,我可以将其标记为解决方案:)但它们现在在我的解决方案中是蓝色、黄色等。还是我遗漏了什么?你说得对对不起!我需要改变我的问题。。。我期待着一个不同的结果:)所有的阿尔法黄色,所有的贝塔蓝色等等。对不起。你是对的我的解决方案能解决你的问题吗?是的。但现在我改变了问题…我本可以把它留在原处,然后把你的标记为正确的。。。。