Составить словарь с несколькими значениями разных цветов - PullRequest
0 голосов
/ 30 сентября 2018

Есть ли способ построить словарь с несколькими значениями с разными цветами?Допустим, у нас есть словарь:

d = {"alpha": [1,2,3,4], "beta": [5,6,7,8]}

Как можно построить один alpha[0], beta[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)

, где data_all_bands выглядит так:

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]

1 Ответ

0 голосов
/ 30 сентября 2018

Ниже приведен один из способов использования списка предварительно назначенных цветов на ваш выбор и нанесения значений каждой клавиши на разные цвета.Таким образом, вам не нужно определять пустые списки x_multi и y_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

enter image description here

Путь 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])

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...