Аннотации не отображаются (граф matplotlib с данными даты и времени) - PullRequest
0 голосов
/ 17 октября 2018

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

import datetime as dt
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import numpy as np

a = np.array([(1.5376248e+09, 48, 5682.47), (1.5376932e+09, 57, 5767.98), (1.5377112e+09, 57, 5767.98)])

time_test = a[:,0] # raw time data in unix time
x = a[:,1] # x coordinate
z = a[:,2] # text to annotate

date_1 = np.vectorize(dt.datetime.fromtimestamp)(time_test) # makes a datetimeobject from unix timestamp
date = np.vectorize(mdates.date2num)(date_1) # makes matplotlib date from datetime

myFmt = mdates.DateFormatter('%d-%m-%Y')
plt.gca().xaxis.set_major_formatter(myFmt)

for rsi, date_1, close in zip(x, time_test, z):        
    plt.annotate(close, xy = (date_1, rsi), xytext=(2, 2))

plt.ylim(40,70)
plt.xticks(rotation = 45)
plt.plot(date, x)
plt.show()

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

Все идеи приветствуются.Приветствия

1 Ответ

0 голосов
/ 17 октября 2018
The updated code looks like this now:

a = np.array([(1.5376248e+09, 48, 5682.47), (1.5376932e+09, 57, 5767.98), (1.5377112e+09, 48, 56950.98)])

time_test = a[:,0] # raw time data in unix time
x = a[:,1] # x coordinate
z = a[:,2] # text to annotate

date_1 = np.vectorize(dt.datetime.fromtimestamp)(time_test) # makes a datetimeobject from unix timestamp
date = np.vectorize(mdates.date2num)(date_1) # makes matplotlib date from datetime

myFmt = mdates.DateFormatter('%d-%m-%Y')
plt.gca().xaxis.set_major_formatter(myFmt)

for rsi, date_2, close in zip(x, date, z):
     plt.annotate(close, xy = (date_2, rsi))

plt.ylim(40,65)
plt.xticks(rotation = 45)
plt.plot(date, x)
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...