Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.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将命令行中的数组打印到图形中_Python_Matplotlib - Fatal编程技术网

通过python将命令行中的数组打印到图形中

通过python将命令行中的数组打印到图形中,python,matplotlib,Python,Matplotlib,我试图绘制两个通过命令行输入的数组。例如,我有testarray.py程序 现在当我进入命令行时 python testarray.py "1 2 3 4 5 6" "1 2 4 8 16 32" 我试图得到一个如下所示的情节: 不幸的是,我没有得到这个情节。我有一个线性图,y轴不是线性的 下面是我的代码片段: xarr=np.array([]) yarr=np.array([]) zarr=np.array([]) x=sys.argv[1].sp

我试图绘制两个通过命令行输入的数组。例如,我有testarray.py程序

现在当我进入命令行时

python testarray.py "1 2 3 4 5 6" "1 2 4 8 16 32"
我试图得到一个如下所示的情节:

不幸的是,我没有得到这个情节。我有一个线性图,y轴不是线性的

下面是我的代码片段:

xarr=np.array([])
yarr=np.array([])
zarr=np.array([])

x=sys.argv[1].split(' ')
y=sys.argv[2].split(' ')
length=len(x)

for t in range(0,length):
  xarr = np.append(xarr,x[t])
  yarr = np.append(yarr,y[t])
plt.plot(xarr,yarr,'b')

如何调整此代码以获得所需的结果?

此代码有效。打印前,必须将字符串类型的数字转换为整数

import sys
import matplotlib.pyplot as plt

if __name__ == '__main__':
    x=sys.argv[1].split(' ')
    y=sys.argv[2].split(' ')
    for i in range(len(x)):
        x[i] = int(x[i])
        y[i] = int(y[i])
    plt.plot(x, y)
    plt.show()
更新 通过使用地图,你可以使整个事情变得更加优雅

import sys
import matplotlib.pyplot as plt
if __name__ == '__main__':
    x=list(map(int, sys.argv[1].split(' ')))
    y=list(map(int, sys.argv[2].split(' ')))

    plt.plot(x,y,'b')
    plt.show()
不幸的是,我没有得到这个情节。你得到的是什么?请提供一份报告。