Пометьте каждую точку даты простым приращением в matplotlib.pyplot # plot_date - PullRequest
0 голосов
/ 16 октября 2018

Я перебираю список списков дат следующим образом:

0    [2017-04-03_2017-05-02, 2017-05-03_2017-06-02,...
1    [2017-09-18_2017-10-17, 2017-10-18_2017-11-17,...
2                              [2017-07-27_2017-08-09]
3                              [2017-01-28_2017-01-28]
4    [2017-04-03_2017-05-02, 2017-05-03_2017-06-02,...
5    [2017-09-18_2017-10-17, 2017-10-18_2017-11-17,...
Name: index, dtype: object

Я делаю простое разделение начальной и конечной даты в каждом значении, чтобы получить начало и конец отдельно.Затем у меня есть два простых списка списков, один для начала и один для конца.

процесс выглядит так:

start_dates_ = final['index'].apply(lambda list_ : map(lambda elem: np.datetime64(elem.split('_')[0]), list_))
end_dates_ = final['index'].apply(lambda list_ : map(lambda elem: np.datetime64(elem.split('_')[1]), list_))

затем для каждой строки, которую я делаю:

matplotlib.pyplot.plot_date(start_dates_, np.repeat(y, n), linestyle='-', color= color)
matplotlib.pyplot.plot_date(end_dates_, np.repeat(y-.03, n), linestyle='-', color= color_)

Я получил две линии с закрытием y (положение оси y).Результат не очень хорош для перехвата начальных и конечных интервалов, поскольку они находятся в отдельных строках.Если я поставлю (начало, конец) в той же строке, это будет беспорядок (маркировка или изменение формы точек - вариант, но все же не настолько чистый).

Решение состоит в том, чтобы соединить начало с конца, знаячто для каждого начала есть конец (заказанный).Насколько я пытался, этого трудно достичь.

Мое искомое решение - просто пометить каждую точку в начале и в конце простым приращением.

Я не мог технически обозначить точки.enter image description here

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