matplotlib func анимация растущих линий со статическими галочками - PullRequest
0 голосов
/ 06 декабря 2018

Я использую matplotlib в своем скрипте на python, этот скрипт используется для тестирования некоторых соединений и их построения в виде графика.Функция animate получает данные от другой функции, которая выполняет тесты соединения.

Я хочу, чтобы на оси x графика все часы отображались в формате 00:00, 01:00 ... 23:00 ифункция animate помещает каждую точку в правильное время, но мне никак не удавалось это сделать.на прикрепленном изображении я установил галочки оси x с помощью plt.xticks ([]), но по мере роста линий ось просто прокручивалась вправо.пример кода не работает!Это единственная функция animate. Я не хочу прикреплять весь код, потому что это не имеет значения.

Функция animate получает аргументы от генератора, который сначала выполняет тесты, а затем выдает значения, сначала его вывод google, а затем facebook., master_dict - это словарь со всеми результатами теста, поэтому он берет из него значения для графика.graph_list - это список 2-х двумерных массивов, который содержит точки графиков.x_val - строка даты и времени, отформатированная как «% H:% M»% S », y_val - значение с плавающей запятой теста

def animate(args):

    url = args[0]
    master_dict = args[1]

    plot_dict = master_dict[url]
    url_id = 1 if 'google' in url else 0

    x_val = plot_dict[TIME]
    y_val = plot_dict[BYTE]

    point = np.array([[x_val, y_val]])

    graph_list[url_id] = np.append(graph_list[url_id], point, axis=0)
    x, y = graph_list[url_id].T
    y = y.astype(np.float)
    plt.gcf().autofmt_xdate(rotation=60)

    return plt.plot(x, y, color=('g' if url_id else 'r'), linewidth=2)

graph

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