从csv文件,Python绘制3D点?

时间:2018-08-27 20:19:41

标签: python-3.x 3d

我试图从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()

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的意图,则希望将文件中每一行的xdata,ydata,zdata附加到X, Y, Z列表中,并在这些列表的末尾图(散点图)中附加它们。 但是,您的代码不会追加到循环内的列表中,因此最终只在最后一个scatter上应用xdata, ydata, zdata