Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用matplotlib绘制字节数据列表_Python_List_Numpy_Matplotlib_Bytearray - Fatal编程技术网

Python 如何使用matplotlib绘制字节数据列表

Python 如何使用matplotlib绘制字节数据列表,python,list,numpy,matplotlib,bytearray,Python,List,Numpy,Matplotlib,Bytearray,我从telnet机器上读取了一堆数据…它是x,y数据,但它只是逗号分隔的,就像x1,y1,x2,y2,x3,y3, 以下是一个示例: In[28] data[1:500] Out[28] b'3.00000000E+007,-5.26880000E+001,+3.09700000E+007,-5.75940000E+001,+3.19400000E+007,-5.56250000E+001,+3.29100000E+007,-5.69380000E+001,+3.38800000E+007,-

我从telnet机器上读取了一堆数据…它是x,y数据,但它只是逗号分隔的,就像
x1,y1,x2,y2,x3,y3,

以下是一个示例:

In[28] data[1:500]
Out[28]  b'3.00000000E+007,-5.26880000E+001,+3.09700000E+007,-5.75940000E+001,+3.19400000E+007,-5.56250000E+001,+3.29100000E+007,-5.69380000E+001,+3.38800000E+007,-5.40630000E+001,+3.48500000E+007,-5.36560000E+001,+3.58200000E+007,-5.67190000E+001,+3.67900000E+007,-5.51720000E+001,+3.77600000E+007,-5.99840000E+001,+3.87300000E+007,-5.58910000E+001,+3.97000000E+007,-5.35160000E+001,+4.06700000E+007,-5.48130000E+001,+4.16400000E+007,-5.52810000E+001,+4.26100000E+007,-5.64690000E+001,+4.35800000E+007,-5.3938'
我想用matplot lib将其绘制为线图。我试过用
struct
包把它转换成一个双精度列表,而不是字节,但是我遇到了很多问题…然后是如何处理科学符号的问题…我想明显地保持它试图传达的大小,但我不能简单地将字节编码转换为双编码的意思

我正在尝试各种我通常会用C来尝试的事情,但是我忍不住认为有一种更好的方法可以用Python

我想我需要将
x的
y的
放入一个numpy数组,这样做时不会丢失任何指数符号


有什么想法吗?

要阅读您的项目,请尝试以下方法:

然后(分而治之风格),分别处理科学记数法

一旦有了两个数字列表,matplotlib文档就可以从中获取它们


这可能不是一个完整的答案,但它应该会让您有一个开始。

要阅读您的项目,一次两个(x1,y1),请尝试以下方法:

然后(分而治之风格),分别处理科学记数法

一旦有了两个数字列表,matplotlib文档就可以从中获取它们


这可能不是一个完整的答案,但它应该让您有一个开始。

首先使用以下命令将数据转换为数字:

data = b'3.00000000E+007,-5.26880000E+001,+3.09700000E+007,-5.75940000E+001'
numbers = map(float, data.split(','))
现在对数组进行切片,分别获取x和y数据,并使用matplotlib进行打印

x = numbers[::2]
y = numbers[1::2]

import matplotlib.pyplot as plt
plt.plot(x, y)
plt.show()

首先将数据转换为数字,例如:

data = b'3.00000000E+007,-5.26880000E+001,+3.09700000E+007,-5.75940000E+001'
numbers = map(float, data.split(','))
现在对数组进行切片,分别获取x和y数据,并使用matplotlib进行打印

x = numbers[::2]
y = numbers[1::2]

import matplotlib.pyplot as plt
plt.plot(x, y)
plt.show()

这产生了一个错误:
TypeError:bytes-like-object是必需的,而不是'str'
…这很奇怪,因为
type(data)
返回
bytes
,而不是
str
。在iPython中,它对我来说是完美的,所以我恐怕无法重现您的问题。您使用的是哪种python版本?3.0…我尝试将其转换为字符串,然后将其填充到numpy数组中…其余代码如所述工作,谢谢。这会产生一个错误:
TypeError:需要一个类似字节的对象,而不是'str'
…这很奇怪,因为
类型(数据)
返回
字节,不是
str
。它在iPython对我来说完美无瑕,所以我恐怕无法重现你的问题。您使用的是哪种python版本?3.0…我尝试将其转换为字符串,然后将其填充到numpy数组中…其余代码如所述工作,谢谢。