我有一个.dat文件,有3列要打印。
如何使用matplotlib/python绘制它们?我是python新手,.dat文件是用fortran 90创建的。filename.dat文件的一部分如下
0.0 0.1 0.85
1.0 0.3 0.62
2.0 0.5 0.27
3.0 0.7 0.34
4.0 0.9 0.19
下面是用3D绘制数据的python代码(不正确)。
import numpy as np
import matplotlib.pyplot as plot
from mpl_toolkits.mplot3d import Axes3D
3Dplot.plot(*np.loadtxt("filename.dat",unpack=True), linewidth=2.0) #invalid syntax, why?
3Dplot.show()
什么是GNUplot命令的等价物
splot 'filename.dat' using 1:2:3
用蟒蛇?这就是我要做的。
但是,当我运行.py时,我收到“无效语法”错误消息,我不知道为什么,但它是以3d开头的行。我如何绘制3d数据?如果我有一个只有两列的.dat文件,我可以做到这一点,但是当我转到三维时,我不知道该怎么做。谢谢!
最佳答案
您不正确地使用了Axes3D对象,这就是您看到SyntaxError
的原因。
试试这个:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = Axes3D(fig)
# Unpack file data.
dat_file = np.loadtxt("filename.dat", unpack=True)
# Plot data.
ax.scatter(*dat_file, linewidth=2.0)
plt.show()