簡體   English   中英

從TCP數據使用Matplotlib進行繪圖

[英]plot with Matplotlib from tcp data

我試圖用python繪制一些東西。 我有傳入的數據,每次迭代都會更新float變量。 我想用matplotlib繪制時間。 這就是我卡住的地方!

import socket
import sys

socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket.bind(('', 5027))
socket.listen(5)
client, address = socket.accept()
print("{} connected".format( address ))
while True:
    response = client.recv(512)   
    print(response)
print ("close")
client.close()
stock.close()

響應是字符串變量。

import matplotlib.pyplot as plt
import numpy as np
import math

body = '+1.33E+00@-6.54E+00@1.00E+00@-6.53E+00@'
one, two, three, four, five = body.split("@")
signal_1 = float(one)
signal_2 = float(two)
signal_3 = float(three)
signal_4 = float(four)
# Plot
t = 5
plt.plot(t, signal_1,t, signal_2,t, signal_3,t, signal_4,)
plt.show()

body是第一個代碼中響應變量的模擬信號。 我想繪制關於時間的signal_1值。 請幫助我!

要繪制的每個序列只有一個數據點,例如第一個是(5,1.33)
plt.plot命令是折線圖。 但是,連接單個點與自身的線仍然不可見。

一種可能的解決方案是設置一個標記( marker="o" )以在相應的坐標處顯示。

plt.plot(t, signal_1,t, signal_2,t, signal_3,t, signal_4, marker="o")

當然,您也可以為各個要點選擇不同的標記,

plt.plot(t, signal_1, "ko", t, signal_2, "bs", t, signal_3, "rd", t, signal_4, "y^")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM