我有一个包含两列数字的.dat
文件。 x值在第一列中,y值在第二列中。我只有在第一列中读取python然后只读取第二列时遇到困难。在我的老师在课堂上做的演示中,他使用了最后一行代码:
from scipy import *
import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt('repeatdata.dat')
# This is the line that I am referring to
plt.plot(data[:,0], data[:,1], 'ro')
我不知道这条线是做什么的,但看起来它可能正在做我想做的事情。
答案 0 :(得分:0)
您的代码看起来不错。
您需要额外拨打plt.show()
来实际显示情节。
您还需要确保.dat
文件中的值与空格分开。
另外,您确定要阅读正确的文件吗? np.loadtxt('repeatdata.txt')
加载txt文件。
<强> somedata.dat 强>
2 4
3 9
4 16
5 25
6 16
<强> main.py 强>
from scipy import *
import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt('somedata.dat')
plt.plot(data[:,0], data[:,1], 'ro')
plt.show()
答案 1 :(得分:0)
有些人可能还发现在绘制numpy数组的列时使用星号来缩短表示法很有用:
import numpy as np
import matplotlib.pyplot as plt
data = np.array([[1,4],
[2,5],
[3,6]])
plt.plot(*data.T, 'ro')
plt.show()
同样在绘制行时:
data = np.array([[1,2,3],
[4,5,6]])
plt.plot(*data, 'ro')
plt.show()