Jef*_*aci 3 python plot gnuplot matplotlib
我有一个包含3列的.dat文件,我想绘制.如何使用matplotlib/python绘制它们?我是python的新手,.dat文件是使用Fortran 90创建的.name.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
Run Code Online (Sandbox Code Playgroud)
下面是用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()
Run Code Online (Sandbox Code Playgroud)
什么是GNUplot命令的等价物
splot 'filename.dat' using 1:2:3
Run Code Online (Sandbox Code Playgroud)
在python?这就是我想要做的.
但是,当我运行.py时,我收到"无效语法"错误消息,我不知道为什么,但它是以3D开头的行.如何绘制3D数据?如果我有一个只有两列的.dat文件,我能够这样做,但是当我转到3维时,我不知道该怎么做.谢谢!
您正在错误地使用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()
Run Code Online (Sandbox Code Playgroud)