我有一个.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()

python - 从.dat文件绘制3列-LMLPHP

08-05 11:43