Python matplotlib中的元组索引超出范围
我对Python还很陌生。我正在尝试使用matplotlib从总共有17列的文件中绘制第0列和第16列。我使用了以下代码:Python matplotlib中的元组索引超出范围,python,matplotlib,plot,Python,Matplotlib,Plot,我对Python还很陌生。我正在尝试使用matplotlib从总共有17列的文件中绘制第0列和第16列。我使用了以下代码: import matplotlib.pyplot as plt plt.plotfile('full_energy.dat', skiprows=3, delimiter=' ', cols=(0,16), names=('Time(ns)', 'Binding Energy(kJ/mol)')) plt.show() 并得到以下错误: Traceback (most
import matplotlib.pyplot as plt
plt.plotfile('full_energy.dat', skiprows=3, delimiter=' ', cols=(0,16), names=('Time(ns)', 'Binding Energy(kJ/mol)'))
plt.show()
并得到以下错误:
Traceback (most recent call last):
File "./plotting.py", line 6, in <module>
plt.plotfile('full_energy.dat', skiprows=3, delimiter=' ', cols=(16,0), names=('Time(ns)', 'Binding Energy(kJ/mol)'))
File "/usr/lib/python2.7/dist-packages/matplotlib/pyplot.py", line 2434, in plotfile
xname, x = getname_val(cols[0])
File "/usr/lib/python2.7/dist-packages/matplotlib/pyplot.py", line 2429, in getname_val
name = r.dtype.names[int(identifier)]
IndexError: tuple index out of range
可以使用将文件读入numpy数组,然后打印所需的列
import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt("full_energy.dat")
plt.plot(data[:,0], data[:,15])
plt.show()
根据您提供的数据,可得出以下图表:
第16列的FYI指数为15,列总数为17。但是,我也尝试使用(0,15)绘制第16列。它产生了相同的错误。当您试图绘制倒数第二列时,您能否尝试
(0,-2)
?我正在尝试绘制最后一列,即第17列。因此,请尝试(0,-1)
。
import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt("full_energy.dat")
plt.plot(data[:,0], data[:,15])
plt.show()