我试图从csv文件中绘制值。我可以将它们打印出来的三列,但是,它不绘制值。 有什么建议如何修复代码? 预先感谢
import matplotlib.pyplot as plt
import plotly.plotly as py
import plotly.graph_objs as go
import plotly.figure_factory as ff
from mpl_toolkits.mplot3d.axes3d import Axes3D
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import sys
from scipy import interpolate
from scipy.interpolate import griddata
import csv
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
with open('text.csv', 'r') as f:
obj = csv.reader(f)
X, Y, Z = [], [], []
for i,row in enumerate(obj):
if i>0:
xstring = row[0]
ystring = row[1]
zstring= row[2]
## print (xstring, ystring, zstring)
zdata = float(zstring)
xdata = float(ystring)
ydata = float(xstring)
ax.scatter3D(xdata, ydata, zdata);
plt.show()
答案 0 :(得分:1)
如果我正确理解了您的意图,则希望将文件中每一行的xdata,ydata,zdata
附加到X, Y, Z
列表中,并在这些列表的末尾图(散点图)中附加它们。
但是,您的代码不会追加到循环内的列表中,因此最终只在最后一个scatter
上应用xdata, ydata, zdata
。