Я пытаюсь создать график в реальном времени, используя matplotlib, и попробовал его успешно.Но есть одна проблема, с которой я столкнулся.Я не смог увеличить данные, пока они отображаются на графике.Это блокирует мои наблюдения.Вот мой код:
plt.ion()
fig = plt.figure()
fig.set_size_inches(30,10)
ax1 = fig.add_subplot(111)
ax2 = ax1.twinx()
#plt.show(block=False)
plt.show()
first_time = 1
def main():
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
server.bind((bind_ip, bind_port))
server.listen(8) # max backlog of connections
print (('Listening on {}:{}').format(bind_ip, bind_port))
while True:
client_sock, address = server.accept()
print (('Accepted connection from {}:{}').format(address[0], address[1]))
client_handler = ThreadWithReturnValue(
target=handle_client_connection,
args=(client_sock,) # without comma you'd get a... TypeError: handle_client_connection() argument after * must be a sequence, not _socketobject
)
client_handler.start()
y_forecast_pred,candles = client_handler.join()
ax1.clear()
ax2.clear()
if(first_time):
line1, = ax1.plot(y_forecast_pred[:,0],color='blue', label='Y Forecast 1 first buffer',marker=".")
candlestick2_ohlc(ax2,candles.o.values[seq_len:],candles.h.values[seq_len:],candles.l.values[seq_len:],candles.c.values[seq_len:],width=0.6,alpha=0.7)
else:
line1.set_ydata(y_forecast_pred[:,0])
candlestick2_ohlc(ax2,candles.o.values[seq_len:],candles.h.values[seq_len:],candles.l.values[seq_len:],candles.c.values[seq_len:],width=0.6,alpha=0.7)
ax1.legend()
ax1.relim()
plt.draw()
plt.pause(0.001)
except KeyboardInterrupt:
pass
finally:
server.close()
Экран зависает.Пожалуйста, помогите мне получить плавное изображение и возможность масштабирования в реальном времени.