通过python将命令行中的数组打印到图形中
我试图绘制两个通过命令行输入的数组。例如,我有testarray.py程序 现在当我进入命令行时通过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
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()
不幸的是,我没有得到这个情节。你得到的是什么?请提供一份报告。