Построение в реальном времени с использованием Matplotlib. Ось X переписывается - PullRequest
1 голос
/ 11 января 2020

update code Я строю данные в режиме реального времени, используя проанализированные данные из файла, который многократно открывается. Построение прекрасно работает, пока ось X (время) не исчерпает комнату. Я пытаюсь найти способ перейти к следующему элементу и сдвинуть значения времени влево. Код и скриншот включены здесь.

import matplotlib.pyplot as plt
import csv
import datetime
from matplotlib.animation import FuncAnimation

x = []
y = []
rssi_val = []

def animate(i):
    with open('stats.txt', 'r') as searchfile:
#        time = (searchfile.read(5))
        time = (searchfile.read(8))
        for line in searchfile:
            if 'agrCtlRSSI:' in line:
                rssi_val = line[16:20]
                y.append(rssi_val)
                x.append(time[-1])


    plt.cla()
    plt.plot(x,y)
    next(x)
    plt.xlabel('Time')
    plt.ylabel('RSSI')
    plt.title('Real time signal strength seen by client X')
    plt.tight_layout()

ani = FuncAnimation(plt.gcf(), animate, interval=5000)
plt.show()

enter image description here

1 Ответ

1 голос
/ 11 января 2020

Вы можете просто повернуть метки,

for label in ax.get_xticklabels():
    label.set_rotation(90)

или

ax.tick_params('x', labelrotation=90)

до вызова plt.plot().

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