Как составить словари с разными ключами на одном сюжете? - PullRequest
0 голосов
/ 12 июня 2018

Предположим, у меня есть два словаря в Python, которые могут иметь разную длину и чьи не все ключи одного находятся в другом.

Например, предположим, что в первом словаре есть ключи k1 и измерения m1а второй k2 и m2.Например:

#1st dictionary
k = ['2015_05_06', '2015_05_26', '2016_03_03']
m1 = [10, 8.5, 19]
#second dictionary
k2 = ['2014_05_06', '2015_05_06', '2016_03_03']
m2 = [10, 13, 9]

Если я это сделаю:

import matplotlib.pyplot as plt
plt.plot(k1, m1)
plt.plot(k2,m2)
plt.show()

Результат будет следующим: enter image description here

По существу, ось Xкоторый представляет даты, не упорядочен, и поэтому второй график строится в неправильном положении оси X.

Чтобы решить эту ситуацию, я подумал создать набор уникальных значений, таких как:

 k = list(set(k1+k2))

, но тогда k и m1 и m2 имеют разную длину.

Существует ли разумный способ построения словарей с разными ключами на одном графике, чтобы ключи на x-оси правильно упорядочены?

1 Ответ

0 голосов
/ 12 июня 2018

Один из вариантов - превратить ваши даты в объект datetime.

from datetime import datetime

d1 = [datetime.strptime(x, '%Y_%m_%d') for x in k]
d2 = [datetime.strptime(x, '%Y_%m_%d') for x in k2]

plt.plot(d1, m1, d2, m2)

Поскольку объекты datetime поддерживают полный порядок, ваш график также будет упорядочен, но он также будет отражать различную продолжительность между каждымшаг времени.enter image description here

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